Re: Help wanted: Operator -> and a class in a PHP extension

From: Date: Thu, 19 Jul 2001 08:45:59 +0000
Subject: Re: Help wanted: Operator -> and a class in a PHP extension
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-60267@lists.php.net to get a copy of this message
Quoting David Eriksson <david@2good.nu>: > First, look att this piece of pure PHP code: > > -------------------- > > <?php > > class S > { > var $a; > var $x; > } > > $s1 = new S(); > $s1->a = 42; > > $s2 = new S(); > > $s2->a = 4711; > $s2->x = $s1; > > echo $s1->a."\n"; > > $s3 = $s2->x; > echo $s3->a."\n"; > > echo $s2->x->a."\n"; > > ?> > > -------------------- > > All three of the "echo" lines above will output the value 42. > > Now consider the same code, but S is class in a PHP extension that has > implemented the handle_property_get function to retrieve properties. > > This time, the last echo line will get the value of $s1->a and not > $s2->a. > > handle_property_get is only called on the $s1 instance and not on the > $s2 > instance of the object. > > I will write a PHP extension that just shows this "feature". Now that I have written the special extension to test this, I am beginning to suspekt an error in the way I treat the zend_property_reference parameter passed to the handlers that get/set properties. Would someone who be able to explain this structure to me? Maybe Zeev? :-) I'll read the source meanwhile... :-) Regards, -\- David Eriksson -/- "An expert in a particular computer language is really an expert in the work-arounds necessary to use this language to perform useful work." - Richard B. Johnson

« previous php.dev (#60267) next »