我们在开发过程中,总有一些需要自己封装又频繁调用的基础方法,通常我们都会新建一个help文件,来存放这些方法。使文件生效的方法有两种:
方法一:composer加载
- 1、在app/Includes下新建文件helpers.php
- 2、composer.json添加文件加载路径
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
},
"files": [
"app/Includes/helpers.php" //添加到这里
]
},
- 3、执行命令composer dump-autoload ,
方法一:使用ServiceProvider加载
- 1、新建HelperServiceProvider文件
执行命令php artisan make:provider HelperServiceProvider
,生成对应的服务提供者文件 - 2、 加载自定义的辅助文件
其实就是服务提供者的register()
方法,如下:
/**
* Register services.
*
* @return void
*/
public function register()
{
foreach (glob(app_path().'/Includes/*.php') as $filename){
require_once($filename);
}
}
- 3、注册服务提供者
在config/app.php的provider数组中注册服务提供者
'providers' => [
'App\Providers\HelperServiceProvider',
]
这样在项目中任何文件,就 可以全局调用文件中的任意方法了。两个方法都可以实现,我个人推荐使用服务提供者。