Bringing the cascading configuration system back to Laravel 5.
weidacat/cascading-config is a Laravel package for bringing the cascading configuration system back to laravel 5..
It currently has 0 GitHub stars and 27 downloads on Packagist (latest version 2.0.0).
Install it with composer require weidacat/cascading-config.
Discover more Laravel packages by weidacat
or browse all Laravel packages to compare alternatives.
Last updated
A simple package that brings the cascading configuration system back into Laravel 5.
First, require weidacat/cascading-config into your composer.json and run composer update:
composer require "weidacat/cascading-config:dev-master"
An environment-based configuration directory should have a name with this format config/{APP_ENV}, and reside in the same directory as the default config dir. For Laravel, php artisan vendor:publish
will create a sample directory for your local environment.
Your application structure now should have something like this:
config
├── app.php
├── auth.php
├── cache.php
├── compile.php
├── database.php
├── mail.php
└── local
├── app.php
├── auth.php
├── cache.php
├── mail.php
└── nested
└── app.php
Fill the configuration into your environment-based config directory (config.local, config.staging, config.production), just like what you've always done in Laravel 4,
Add the package's service provider class into config/app.php:
'providers' => [
/*
* ...
*/
App\Providers\AppServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
Weidacat\CascadingConfig\CascadingConfigServiceProvider::class,
],
Because of the way array_merge_recursive() works, a config key with value being an indexed (non-associative) array (for instance, app.providers) will have the value's items overridden. See #6 for more details on this behavior, and how to work around it.
MIT © Phan An