Laravel框架内提供了 Str,Arr 等帮助类,用于字符串操作,数组操作,将PHP内置的 str 开头的函数,和 array 开头的函数,使用面向对象的方式进行操作。
如果我们要写一些全局使用的助手函数,应该如何加载到 Laravel 框架内呢?本文就来说一说。
首先我们创建一个文件,比如路径地址就在 app/lib/helper.php 内。然后声明一个函数:
if (! function_exists('checkWorking')) {
function checkWorking()
{
return "Hey, it's working!";
}
}
然后打开 composer.json 文件,在文件加载的配置部分,添加如下信息:
"autoload": {
....
"files": [
"app/lib/helpers.php"
]
},
这样写框架还不会自动加载,我们需要使用 composer 指令更新系统的自动加载文件。在根目录,命令行内执行:
composer dump-autoload
之后在框架内的任何地方,就可以直接访问 helper 文件内声明的函数了。
我们也可以使用laravel加载类库,注册类库的办法,进行助手函数文件的动态加载。首先创建一个 ServiceProvider,命令行内执行:
php artisan make:provider HelperServiceProvider
这会创建 HelperServiceProvider 文件,在 registe 方法内实现加载文件的逻辑: