我正在开发Laravel 5.1项目并且已经开发了很多帮助器。
有没有办法在ServiceProivder中自动注册helpers类而不是手动添加它们?
答案 0 :(得分:3)
我已经研究过了,最后通过将不同的谜题放在一起来解决这个问题:
对于Laravel 5:
第1步。已创建文件夹app/Helpers
第2步。在app/Providers
文件夹中,使用以下artisan命令创建提供程序HelpersServiceProvider.php
:
php artisan make:provider HelpersServiceProvider
第3步。在HelpersServiceProvider.php
文件中,我们在foreach loop
内部注册函数中获取所有帮助程序类,如下所示:
public function register()
{
foreach (glob(app_path() . '/Helpers/*.php') as $helpersfilename)
{
require_once($helpersfilename);
}
}
第4步。在config/app.php
添加以下行
/*
* Application Service Providers added by developer...
*/
App\Providers\HelpersServiceProvider::class,
就是这样,这里的解决方案经过测试,适用于所有版本的Laravel 5.x.现在,您可以在帮助程序文件夹中添加无限帮助程序,它们将自动添加到系统中。
Laravel 4 尚未经过测试,但如果有人正在测试,请为Laravel 4添加/编辑此内容。