Удлинение ArrayObject в PHP правильно?

Проблема: Я пытаюсь расширить 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);
    }
}
7
задан Andrejs Cainikovs 28 January 2014 в 15:46
поделиться