Добавляю возможность устанавливать параметры, передаваемые в массиве. (Вообще, на практике значения в массиве устанавливаются и так, но не увидел, чтобы такое поведение ArrayObject::offsetSet() было документировано.)
This commit is contained in:
20
Config.php
Normal file → Executable file
20
Config.php
Normal file → Executable 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user