misuzu/src/config.php

29 lines
805 B
PHP
Raw Normal View History

2018-10-04 21:01:17 +02:00
<?php
define('MSZ_CONFIG_STORE', '_msz_configuration_store');
function config_load(string $path, bool $isText = false): void
{
$config = $isText
? parse_ini_string($path, true, INI_SCANNER_TYPED)
: parse_ini_file($path, true, INI_SCANNER_TYPED);
if (!is_array($GLOBALS[MSZ_CONFIG_STORE])) {
$GLOBALS[MSZ_CONFIG_STORE] = [];
}
$GLOBALS[MSZ_CONFIG_STORE] = array_merge_recursive($GLOBALS[MSZ_CONFIG_STORE], $config);
}
function config_get(string $key, $default = null)
{
$lastDot = strrpos($key, '.');
if ($lastDot !== false) {
$section = substr($key, 0, $lastDot);
$key = substr($key, $lastDot + 1);
return $GLOBALS[MSZ_CONFIG_STORE][$section][$key] ?? $default;
}
return $GLOBALS[MSZ_CONFIG_STORE][$key] ?? $default;
}