Laravel 5:从应用程序配置文件中删除开发依赖关系



我正在用git clone部署Laravel的项目,并使用git pull

更新

它可以正常工作,但是每次部署时,我都必须从config/app.php providers数组和aliases数组中删除开发依赖性,这很烦人,每次我进行composer install --no-dev时,都会向我显示错误,因为他没有找到Dev packages。

您可以根据Laravel 5中的环境有条件加载服务提供商和立面加载。

服务提供商

服务提供商需要在/app/Providers/AppServiceProvider.php而不是config/app.php中注册。

// AppServiceProvider.php
public function register()
{
    $this->app->bind(
        'IlluminateContractsAuthRegistrar',
        'AppServicesRegistrar'
    );
    if ($this->app->environment('production')) {
        $this->app->register('AppProvidersProductionProvidersGoHere');
    } else {
        $this->app->register('AppProvidersDevelopmentProvidersGoHere');
    }
}

对于教程,请在这里查看:https://mattstauffer.co/blog/conditionally-loading-service-providers-in-laravel-5

外墙

可以有条件地加载AliasLoader

/**
 * List of only Local Enviroment Facade Aliases
 * @var array
 */
protected $facadeAliases = [
    'Debugbar' => 'BarryvdhDebugbarFacade',
];
/**
 * Load additional Aliases
 * Base file Alias load is /config/app.php => aliases
 */
public function registerFacadeAliases()
{
    $loader = AliasLoader::getInstance();
    foreach ($this->facadeAliases as $alias => $facade)
    {
        $loader->alias($alias, $facade);
    }
}

这也是一个不错的教程:http://blog.piotrows.pl/en/laravel-5-load-load-service-serviceprovider-deveride-on-env-file/

//编辑
添加了立面:感谢 @sn0opr指向我。

相关内容

  • 没有找到相关文章

最新更新