Я столкнулся с проблемой с моим кодом, которую я не смог объяснить.Единственное, о чем я могу думать, это то, что магические методы просто не работают внутри ArrayObjects.Например, для следующего класса:
class foo extends ArrayObject {
public $bar = '@@@';
public function __construct() {
parent::__construct(array(), ArrayObject::ARRAY_AS_PROPS);
}
public function __get($prop) {
return '@@@';
}
}
В следующих строках выдается сообщение об ошибке «Примечание: неопределенный индекс: test ...»
$foo = new foo();
echo $foo->test;
Тем не менее эти строки работают нормально:
$foo = new foo();
echo $foo->bar;
Я сумасшедший или это известная проблема?