Laravel 5 中注册 local 环境的 Provider
在L4中,想要仅在local
环境中加载想要的provider
,可以在app/config/local/app.php
文件这样做:
<?php
return array(
'debug' => true,
'providers' => append_config(array(
'Clockwork\Support\Laravel\ClockworkServiceProvider',
'Way\Generators\GeneratorsServiceProvider',
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
))
);
在L5中,虽然源码中append_config
方法还保留着,但是这种方式已经不奏效了。
因为Laravel5取消支持环境子文件夹了, 所有
app/config/app.php
中的其他配置项会被覆盖掉
看了L5的文档,官方也没有提供解决方法。
所以还是靠自己的办法来解决,我的办法是创建一个provider
,在其中使用下面的代码专门来提供开发环境中的provider
注册。
当然你也可以直接将代码贴在app/config/app.php
文件中,虽然我认为这不是一个好的方式~
use App;
//....
if(App::environment('local'))
{
App::register('Clockwork\Support\Laravel\ClockworkServiceProvider');
App::register('Way\Generators\GeneratorsServiceProvider');
App::register('Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider');
}
本帖已被设为精华帖!