Laravel 5 中注册 local 环境的 Provider

教程 NauxLiu ⋅ 于 3年前 ⋅ 最后回复由 NauxLiu 2年前 ⋅ 5054 阅读

在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');
}

本文章首发在 Laravel China 社区
本帖已被设为精华帖!
回复数量: 0
    暂无评论~~
    您需要登陆以后才能留下评论!

    Composer 中国全量镜像

    Top 100 扩展包

    Lumen 中文文档

    Laravel 速查表

    Laravel 中文文档

    Laravel 项目开发规范

    Laravel 开发环境部署

    Elasticsearch-PHP 中文文档

    Lumen 中文文档

    GraphQL PHP 中文文档

    社区文档撰写指南

    TDD 构建 Laravel 论坛笔记

    PHP PSR 标准规范

    PHP 设计模式全集

    Dingo API 中文文档