Добавляю возможность устанавливать параметры, передаваемые в массиве. (Вообще, на практике значения в массиве устанавливаются и так, но не увидел, чтобы такое поведение ArrayObject::offsetSet() было документировано.)

This commit is contained in:
2017-09-12 23:46:46 +03:00
parent f1eb97348c
commit da17b79291

20
Config.php Normal file → Executable file
View File

@ -13,13 +13,27 @@ class Config extends Registry
{
private static $_class_name = 'Config';
static public function set($name, $value)
/**
* Метод устанавливает параметры конфигурации
* @param mixed $param
* Имя параметра или параметры в массиве
* @param mixed $value
* Значение параметра. Не требуется, если передаются параметры в массиве
*/
static public function set($param, $value = null)
{
// Разбираю массив, если параметры переданы в массиве
if (is_array($param)) {
foreach ($param as $paramItem => $value) {
self::set($paramItem, $value);
}
return;
}
if (is_array($value)) {
$value = new ConfigArray($value);
}
self::getInstance()->offsetSet($name, $value);
self::getInstance()->offsetSet($param, $value);
}
}