Добавляю возможность устанавливать параметры, передаваемые в массиве. (Вообще, на практике значения в массиве устанавливаются и так, но не увидел, чтобы такое поведение 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';
|
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)) {
|
if (is_array($value)) {
|
||||||
$value = new ConfigArray($value);
|
$value = new ConfigArray($value);
|
||||||
}
|
}
|
||||||
self::getInstance()->offsetSet($name, $value);
|
self::getInstance()->offsetSet($param, $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user