如何在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.