Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:57582 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 63458 invoked from network); 30 Jan 2012 20:47:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Jan 2012 20:47:48 -0000 Authentication-Results: pb1.pair.com smtp.mail=cpriest@zerocue.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=cpriest@zerocue.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zerocue.com designates 74.115.204.40 as permitted sender) X-PHP-List-Original-Sender: cpriest@zerocue.com X-Host-Fingerprint: 74.115.204.40 relay-hub204.domainlocalhost.com Received: from [74.115.204.40] ([74.115.204.40:14555] helo=relay-hub204.domainlocalhost.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 07/9C-53934-2F1072F4 for ; Mon, 30 Jan 2012 15:47:48 -0500 Received: from MBX202.domain.local ([169.254.19.147]) by HUB204.domain.local ([74.115.204.40]) with mapi id 14.01.0355.002; Mon, 30 Jan 2012 15:47:43 -0500 To: jpauli , Adi Mutu CC: "internals@lists.php.net" Thread-Topic: [PHP-DEV] zend guard Thread-Index: AQHM32oCrXUsIBHO2ki0XGGd7k6m2pYlbN8A///0vyA= Date: Mon, 30 Jan 2012 20:47:43 +0000 Message-ID: <9570D903A3BECE4092E924C2985CE48539BCB126@MBX202.domain.local> References: <1327939911.10337.YahooMailNeo@web43510.mail.sp1.yahoo.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.64.22] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: RE: [PHP-DEV] zend guard From: cpriest@zerocue.com (Clint M Priest) That's exactly what it's used for. -----Original Message----- From: julienpauli@gmail.com [mailto:julienpauli@gmail.com] On Behalf Of jpa= uli 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 =3D 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_g= et_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 wrote: > Hello, > > Can anybody tell me what this struct is used for ? > I'm new to the internals of php. > > Thanks, > A >