mezon / conf
Small conf routine
Installs: 12 224
Dependents: 8
Suggesters: 0
Security: 0
Stars: 5
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: >=7.2.0
Requires (Dev)
- infection/infection: ^0.21.5
- phpunit/php-token-stream: 3.1.2
- phpunit/phpunit: ^8.5
- vimeo/psalm: ^4.2
README
Configuration
Mezon has it's own routine for working with configs. It can be accesed with a set of functions, wich are described below.
Getting access to the key in config can be done with Conf::getValue($route, $defaultValue = false) function. It returns config value with route $route and return $defaultValue if this key was not found. For example:
$value = Conf::getValue('res/images/favicon', 'http://yoursite.com/res/images/favicon.ico');
Setting values for the config key can be done by calling Conf::setConfigValue($route, $value) or Conf::addConfigValue($route, $value) function. The main difference between these two functions is that the first one sets scalar key, and the second one adds element to the array in config. Here is small example:
Conf::setConfigValue('res/value', 'Value!'); var_dump(Conf::getValue('res/value')); // displays 'Value!' string Conf::addConfigValue('res/value', 'Value 1!'); Conf::addConfigValue('res/value', 'Value 2!'); var_dump(Conf::getValue('res/value')); // displays array( [0] => 'Value 1!' , [1] => 'Value 2!' )
You also can use typed versions of these methods:
Conf::getValueAsArray(...); Conf::getValueAsObject(...); Conf::getValueAsString(...); Conf::setConfigArrayValue(...); Conf::setConfigObjectValue(...); Conf::setConfigStringValue(...);
You can set multyple values to the config:
// here $settings is an associative array Conf::setConfigValues(array $settings);
Or you can read config from JSON:
Conf::loadConfigFromJson(string $pathToConfig);
If you are not shure that the key exists, then you can check it:
Conf::setConfigValue('res/value', 'Value!'); var_dump(Conf::configKeyExists('res')); // true var_dump(Conf::configKeyExists('res2')); // false var_dump(Conf::configKeyExists('res/value')); // true
You can also able to delete config key
Conf::setConfigValue('res/value', 'Value!'); Conf::deleteConfigValue('res/value'); var_dump(Conf::configKeyExists('res/value')); // false var_dump(Conf::configKeyExists('res')); // also false
Or clear the entire config:
Conf::clear();
That's all you need to know about config read/write.