如何在ServiceProvider中自动注册助手class?
How to automatically register helpers class in ServiceProvider?
我正在做 Laravel 5.1 项目,开发了很多助手。
有什么方法可以在 ServiceProivder 中自动注册助手 class 而不是手动添加它们?
我已经解决了这个问题,我最终通过将不同的谜题放在一起解决了这个问题:
对于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 的所有版本。现在你可以在helpers文件夹中无限添加助手,他们会自动添加到系统中。
Laravel 4 尚未测试,但如果有人这样做,请 add/edit this for Laravel 4.
我正在做 Laravel 5.1 项目,开发了很多助手。
有什么方法可以在 ServiceProivder 中自动注册助手 class 而不是手动添加它们?
我已经解决了这个问题,我最终通过将不同的谜题放在一起解决了这个问题:
对于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 的所有版本。现在你可以在helpers文件夹中无限添加助手,他们会自动添加到系统中。
Laravel 4 尚未测试,但如果有人这样做,请 add/edit this for Laravel 4.