Проблема: Я пытаюсь расширить PHP ArrayObject
как показано ниже. К сожалению, я не могу правильно работать при правильной работе при настройке многомерных объектов и вместо этого ошибка, выбрасывающая, как у меня есть строгие настройки, включенные в PHP. ( Ошибка: строгие стандарты: создание объекта по умолчанию из пустого значения
)
Вопрос: Как изменять мой класс для автоматического создания не существующих уровней для меня?
код:
$config = new Config;
$config->lvl1_0 = true; // Works
$config->lvl1_1->lvl2 = true; // Throws error as "lvl1" isn't set already
class Config extends ArrayObject
{
function __construct() {
parent::__construct(array(), self::ARRAY_AS_PROPS);
}
public function offsetSet($k, $v) {
$v = is_array($v) ? new self($v) : $v;
return parent::offsetSet($k, $v);
}
}