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