frankfoerster / cakephp-environment
CakePHP Environment Plugin. Manage multiple environments in your CakePHP application that differ in database setup, configuration settings (Configure) and custom feature flags.
Installs: 8 851
Dependents: 2
Suggesters: 0
Security: 0
Stars: 9
Watchers: 5
Forks: 3
Open Issues: 1
Type:cakephp-plugin
Requires
- php: >=5.6.0
Requires (Dev)
- cakephp/cakephp: 3.*
- cakephp/cakephp-codesniffer: 3.*
- phpunit/phpunit: ^5.7|^6.0
This package is auto-updated.
Last update: 2024-11-07 10:39:44 UTC
README
Manage multiple environments in your CakePHP application that differ in, e.g.:
- database setup
- configuration settings (Configure)
- custom feature flags
Requirements
- PHP 5.6.0+
- CakePHP 3.x
What it does
The Environment plugin hooks into your bootstrap process to initialize the database configuration, configuration parameters and additional custom logic for different environments.
An environment is defined and detected either by a set of domains (e.g. www.domain.com, domain.com, domain.net) or optionally by the absolute app path on a server (cli).
Install and use the plugin
-
composer require frankfoerster/cakephp-environment
-
Copy the example configuration files from
example/config/Environment
to your app/config/Environment
-
Add the following lines to your
config/bootstrap.php
fileuse FrankFoerster\Environment\Environments; Environments::init();
before
ConnectionManager::setConfig(Configure::consume('Datasources'));
If you want to setup environment specific settings for any "consumed" configuration option, then make sure your environments are initialized before the corresponding
Configure::consume('...')
call.
Tags ~1.0 are releases for CakePHP 2.x support (master branch).
Tags ~3.0 are releases for CakePHP 3.x support (cake3 branch).
Configuration
The configuration of your environments is managed with multiple files.
config.php
is the global configuration file that is applied to all detected environments.environment.{name}.php
is a single environment file that contains the environment specific$configure
array
Settings defined in an environment configuration file are deeply merged with the global configuration.