laurent22 / konfig
Simple configuration class with support for cascading file system.
1.0
2014-02-15 19:49 UTC
This package is not auto-updated.
Last update: 2025-03-01 15:57:48 UTC
README
Simple configuration class for PHP with support for cascading file system.
Installation
Either copy the Konfig.php class or add this to composer.json
:
require {
"laurent22/konfig": "dev-master"
}
Usage
Each config files is a simple PHP file that returns an associative array. For example:
return array(
'host' => '127.0.0.1',
'port' => '6543',
'user' => 'dbadmin',
'password' => '123456',
);
Assuming this kind of file structure:
config/
dev/
database.php
default.php
live/
database.php
default.php
The following can be used to load the config files:
// 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:
$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).