Re: [PATCH] Late Static Binding (Take 2)
From: Jochem Maas Date: Thu, 30 Mar 2006 14:24:05 +0000 Subject: Re: [PATCH] Late Static Binding (Take 2) References: 1 Groups: php.internals Request: Send a blank email to [email protected] to get a copy of this message
Dmitry Stogov wrote:Hi Mike, I finally found a day to look into your patch and make it work in all (may be I forgot something) cases. Improved patch and test cases are attached. I still don't like name - "static",as long as it gets in, I'll love you [all] whatever name you give it! :-)and I am not sure that this concept is necessary for PHP.every halfassed phper doing OO in php5 would then love to know how Zend intends implement something like: Person::findAll( $myFilter ) ... with out having to actually implement a findAll method in the Person class (i.e. using a single generic findAll method defined in whatever DataObject class Person is derived from (ZDataObject IIRC). seriously; if there is a clean way of doing it without the introduction of a static late binding keyword/token (forgive me if mine use of terminology is off) then please put us out of our misery (or point me to the place I can learn and I'll put myself out of my misery ;-) - I've been struggling to find a decent solution to this since php5 was in beta and I regularly search around to see how other are coping with this issue - in almost all cases it turns out to be something like: $peeps = Person::findAll('Person', $myFilter) or $p = new Person; $peeps = $p->findAll( $myFilter ); niether of which really do it for me, and in the second example it feels like some OO principles are being thoroughly raped. rgds, JochemThanks. Dmitry.-----Original Message----- From: Mike Lively [mailto:[email protected]] Sent: Thursday, March 09, 2006 12:06 AM To: Dmitry Stogov Cc: Andi Gutmans; PHP-DEV; Marcus Boerger Subject: [PHP-DEV] [PATCH] Late Static Binding (Take 2) On Wed, 2006-03-01 at 17:37 +0300, Dmitry Stogov wrote:1) I would very like to see some real example where "static" is necessary? 2) "static" is really bad name. I suggest "caller", Marcus thought about "class". 3) I COMPLETELY DISAGREE TO ADD RUNTIME DATA INTO zend_function/zend_op_array. We can try to store "caller_scope" in execute_data. Thanks. Dmitry.Rewrote the patch to use execute_data to store caller_scope. I have not renamed any functions or keywords (still using static::) as I did not see any consensus on that yet. Please review the implementation of caller_scope and I can take care of the naming issues when names are decided on. patch attached and also available at http://test.ft11.net/_mlively/late-static-binding.patch It would be nice if the patch in PAT could be changed to reference this new version if the appropriate people have time.
Thread (59 messages)
- Re: [PATCH] Late Static Binding
- RE: [PHP-DEV] [PATCH] Late Static Binding
- Re: [PATCH] Late Static Binding
« previous | php.internals (#22618) | next » |
---|