首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5:从app config文件中删除开发依赖项

Laravel 5:从app config文件中删除开发依赖项
EN

Stack Overflow用户
提问于 2015-05-18 11:44:23
回答 1查看 350关注 0票数 2

我正在用git clone部署Laravel的项目,用git pull更新

它运行得很好,但是每次部署时,我都必须从config/app.php providers数组和aliases数组中删除开发依赖项,这是很烦人的,而且每次执行composer install --no-dev时,它都会显示错误,因为他没有找到dev包。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-18 12:04:14

您可以根据laravel 5中的环境有条件地加载服务提供者和外观。

服务提供者

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

代码语言:javascript
复制
// AppServiceProvider.php

public function register()
{
    $this->app->bind(
        'Illuminate\Contracts\Auth\Registrar',
        'App\Services\Registrar'
    );

    if ($this->app->environment('production')) {
        $this->app->register('App\Providers\ProductionProvidersGoHere');
    } else {
        $this->app->register('App\Providers\DevelopmentProvidersGoHere');
    }
}

关于教程,请看一下这里:https://mattstauffer.co/blog/conditionally-loading-service-providers-in-laravel-5

立面

可以用AliasLoader有条件地加载外观。

代码语言:javascript
复制
/**
 * List of only Local Enviroment Facade Aliases
 * @var array
 */
protected $facadeAliases = [
    'Debugbar' => 'Barryvdh\Debugbar\Facade',
];

/**
 * 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-serviceprovider-depend-on-env-file/

//编辑

添加外观:感谢@Sn0opr为我指出这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30302336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档