请按以下步骤进行。
1) 将"--dev"添加到您的composer require命令中。例如:
sudo composer require barryvdh/laravel-ide-helper --dev
或者,在composer.json文件中将你的开发环境所需内容移动到"require-dev"部分中:
"require": {
"laravel/framework": "5.0.*"
},
"require-dev": {
"laracasts/generators": "~1.1",
"barryvdh/laravel-ide-helper": "~2.0",
"barryvdh/laravel-debugbar": "~2.0"
},
然后进行composer update。
2)设置新的ServiceProvider:
php artisan make:provider LocalEnvironmentServiceProvider
3) 在 config/app 中将 LocalEnvironmentServiceProvider 添加到 providers 数组中:
'providers' => [ ...
'app\Providers\ConfigServiceProvider',
'app\Providers\EventServiceProvider',
'app\Providers\RouteServiceProvider',
'app\Providers\LocalEnvironmentServiceProvider',
],
4) 修改你的新应用程序/提供商/LocalEnvironmentServiceProvider文件:
<?php namespace App\Providers;
use Illuminate\Foundation\AliasLoader;
use Illuminate\Support\ServiceProvider;
class LocalEnvironmentServiceProvider extends ServiceProvider {
protected $localProviders = [
'Laracasts\Generators\GeneratorsServiceProvider'
'Barryvdh\Debugbar\ServiceProvider',
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
];
protected $facadeAliases = [
'Debugbar' => 'Barryvdh\Debugbar\Facade',
];
public function boot() {
if ($this->app->isLocal()) {
$this->registerServiceProviders();
$this->registerFacadeAliases();
}
}
public function register() {
}
protected function registerServiceProviders() {
foreach ($this->localProviders as $provider) {
$this->app->register($provider);
}
}
public function registerFacadeAliases() {
$loader = AliasLoader::getInstance();
foreach ($this->facadeAliases as $alias => $facade) {
$loader->alias($alias, $facade);
}
}
}
我还添加了其他几个典型的开发提供者和门面,希望你能理解如何轻松地扩展它。
当然,使用这种方法,您只需更改 $this->app->isLocal() 来匹配其他环境即可。