phanan/cascading-config

此包已被废弃且不再维护。未建议替代包。

将级联配置系统带回 Laravel 5。

2.0.0 2015-11-16 17:01 UTC

README

Build Status Dependency Status License

一个简单的包,将级联配置系统带回 Laravel 5 及其姐妹项目 Lumen。

要求

  • Laravel 5,或者
  • Lumen >=5.1

功能

  • Laravel-4 风格的级联配置(真不敢相信我还在写这个)
  • 完全支持 嵌套配置

安装

首先,在您的 composer.json 文件中添加 phanan/cascading-config 并运行 composer update

    "require": {
        "phanan/cascading-config": "~2.0"
    },

基于环境的配置目录应具有以下格式 config.{APP_ENV},并位于默认 config 目录的同一目录中。对于 Laravel,运行 php artisan vendor:publish 将为您的 local 环境创建一个示例目录。对于 Lumen,您需要手动创建这些目录。

您的应用程序结构现在应该像这样

config
├── app.php
├── auth.php
├── cache.php
├── compile.php
├── database.php
├── mail.php
└── ...
config.local
├── app.php
├── auth.php
├── cache.php
├── mail.php
└── nested
    └── app.php

将配置填充到基于环境的配置目录中(如 config.localconfig.stagingconfig.production),就像您在 Laravel 4 中所做的那样,

使用方法

Laravel 使用方法

  1. 将包的服务提供者类添加到 config/app.php

    'providers' => [
        /*
         * ...
         */
        App\Providers\AppServiceProvider::class,
        App\Providers\EventServiceProvider::class,
        App\Providers\RouteServiceProvider::class,
    
        PhanAn\CascadingConfig\CascadingConfigServiceProvider::class,
    ],
  2. 调用 config($key)

Lumen 使用方法

  1. bootstrap/app.php 中注册服务提供者类

    // $app->register(App\Providers\AppServiceProvider::class);
    // $app->register(App\Providers\EventServiceProvider::class);
    $app->register(PhanAn\CascadingConfig\CascadingConfigServiceProvider::class);
  2. 通过取消注释此行启用多环境支持

    Dotenv::load(__DIR__.'/../');
  3. 手动注册配置数组

    $app->configure('auth');
    $app->configure('cache');
    $app->configure('mail');
  4. 调用 config($key)

注意事项

由于 array_merge_recursive() 的工作方式,值为索引(非关联)数组的配置键(例如,app.providers)将覆盖值的项目。有关此行为的更多详细信息以及如何解决此问题的方法,请参阅 #6

许可

MIT © Phan An