15/02
2014
Wallogit.com
2017 © Pedro Peláez
Simple configuration class with support for cascading file system.
Simple configuration class for PHP with support for cascading file system., (*1)
Either copy the Konfig.php class or add this to composer.json:, (*2)
require {
"laurent22/konfig": "dev-master"
}
Each config files is a simple PHP file that returns an associative array. For example:, (*3)
return array(
'host' => '127.0.0.1',
'port' => '6543',
'user' => 'dbadmin',
'password' => '123456',
);
Assuming this kind of file structure:, (*4)
config/
dev/
database.php
default.php
live/
database.php
default.php
The following can be used to load the config files:, (*5)
// Always load the live environment
Konfig::addLookupFolder('config/live');
// But allow overriding the values if we are in development environment:
if (ENV == 'dev') Konfig::addLookupFolder('config/dev');
Then to access the values:, (*6)
$dbHost = Konfig::get('database', 'host');
$fullDbConfig = Konfig::getGroup('database');
The relevant files are loaded only as needed (if they are not used, nothing gets loaded)., (*7)