Quickly reading the source and trying things, I suggest its a guard against
recursion in __get and __set handlers.
This way, code such this one won't infinitly loop :

class Foo {
    public function __get($p) {
        return $this->$p; // this should lead to a recursion loop
    }
}

$f = new Foo;
echo $f->barbaz;

http://lxr.php.net/opengrok/xref/PHP_5_4/Zend/zend_object_handlers.c#440
http://lxr.php.net/opengrok/xref/PHP_5_4/Zend/zend_object_handlers.c#zend_get_property_guard
http://lxr.php.net/xref/PHP_5_4/Zend/zend.h#290

Julien.P

On Mon, Jan 30, 2012 at 5:11 PM, Adi Mutu <adi_mut...@yahoo.com> wrote:

> Hello,
>
> Can anybody tell me what this struct is used for ?
> I'm new to the internals of php.
>
> Thanks,
> A
>

Reply via email to