Configuration
Configuration Directory
The directory for the configuration files is: config/
Configuration Environments
A typical application begins with three environments: dev, prod and test. Each environment represents a way to execute the same codebase with different configuration. Each environment loads its own individual configuration files.
These different files are organized by environment:
- for the
devenvironment:config/local.dev.php - for the
prodenvironment:config/local.prod.php - for the (phpunit)
testenvironment:config/local.test.php
The file config/settings.php is the main configuration file and combines the default settings with environment specific settings.
The configuration files are loaded in this order:
-
Load default settings from:
config/defaults.php -
If the environment variable
APP_ENVis defined, load the environment specific file, e.g.config/local.{env}.php -
Load secret credentials (if file exists) from:
config/env.phpconfig/../../env.php
To switch the environment you can change the APP_ENV environment variable.
$_ENV['APP_ENV'] = 'prod';
Secret Credentials
For security reasons, all secret values are stored in a file called: env.php.
Create a copy of the file config/env.example.php and rename it to config/env.php
The env.php file is generally kept out of version control since it can contain sensitive API keys and passwords.
Read more
- Environments and Configuration (Slim 4 - eBook Vol. 1)