[PHP-DEV] zend guard

2012-01-30 Thread Adi Mutu
Hello,

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

Thanks,
A


Re: [PHP-DEV] zend guard

2012-01-30 Thread jpauli
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



RE: [PHP-DEV] zend guard

2012-01-30 Thread Clint M Priest
That's exactly what it's used for.

-Original Message-
From: julienpa...@gmail.com [mailto:julienpa...@gmail.com] On Behalf Of jpauli
Sent: Monday, January 30, 2012 10:27 AM
To: Adi Mutu
Cc: internals@lists.php.net
Subject: Re: [PHP-DEV] zend guard

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


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php