如何在ServiceProvider中自动注册helpers类?

时间:2015-07-28 00:26:54

标签: php laravel-5.1

我正在开发Laravel 5.1项目并且已经开发了很多帮助器。

有没有办法在ServiceProivder中自动注册helpers类而不是手动添加它们?

1 个答案:

答案 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添加/编辑此内容。