RE: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-31 Thread Dmitry Stogov
: Marcus Boerger [mailto:[EMAIL PROTECTED] > Sent: Friday, March 31, 2006 6:42 PM > To: Dmitry Stogov > Cc: 'Michael Lively Jr.'; 'Andi Gutmans'; 'PHP-DEV' > Subject: Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2) > > > Hello Dmitry, >

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-31 Thread Andi Gutmans
essage- >> From: Michael Lively Jr. [mailto:[EMAIL PROTECTED] >> Sent: Thursday, March 30, 2006 8:53 PM >> To: Dmitry Stogov >> Cc: 'Andi Gutmans'; 'PHP-DEV'; 'Marcus Boerger' >> Subject: Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-31 Thread Marcus Boerger
-- >> From: Michael Lively Jr. [mailto:[EMAIL PROTECTED] >> Sent: Thursday, March 30, 2006 8:53 PM >> To: Dmitry Stogov >> Cc: 'Andi Gutmans'; 'PHP-DEV'; 'Marcus Boerger' >> Subject: Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-30 Thread Michael Lively Jr.
I almost had a finished another patch myself using EG() but I had to take a break to pay my bills :/. Thanks for looking at this Dmitry. I will go ahead and put together a more exhaustive use case for this over the weekend. Would you like to add (modify) something to my patch? No,

RE: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-30 Thread Dmitry Stogov
Hi Michael, > -Original Message- > From: Michael Lively Jr. [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 30, 2006 8:53 PM > To: Dmitry Stogov > Cc: 'Andi Gutmans'; 'PHP-DEV'; 'Marcus Boerger' > Subject: Re: [PHP-DEV] [PATCH] Late Stati

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-30 Thread Michael Lively Jr.
ch 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) "st

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-30 Thread Jochem Maas
-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 wou

RE: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-30 Thread Dmitry Stogov
--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

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-08 Thread Andi Gutmans
Yeah I agree but I'm less concerned about the naming at this point but how to implement it assuming we find a name. Andi At 04:18 PM 3/8/2006, David Zülke wrote: I'd still say we make it "this". It's reasonable and consistent. - David Am 09.03.2006 um 01:13 schrieb Andi Gutmans: This patc

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-08 Thread David Zülke
I'd still say we make it "this". It's reasonable and consistent. - David Am 09.03.2006 um 01:13 schrieb Andi Gutmans: This patch is a bit rough. I'll try and think if there's a more elegant way. Andi At 01:06 PM 3/8/2006, Mike Lively wrote: On Wed, 2006-03-01 at 17:37 +0300, Dmitry Stog

Re: [PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-08 Thread Andi Gutmans
This patch is a bit rough. I'll try and think if there's a more elegant way. Andi At 01:06 PM 3/8/2006, Mike Lively wrote: 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 s

[PHP-DEV] [PATCH] Late Static Binding (Take 2)

2006-03-08 Thread Mike Lively
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_o

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-03 Thread Bart de Boer
+1 for this:: Andi Gutmans wrote: Yep. I was thinking mainly of methods not of static variables. I still think this:: is the best way (better than class::) At 12:12 PM 3/2/2006, Jeff Moore wrote: On Mar 2, 2006, at 2:23 PM, Andi Gutmans wrote: Do you expect significant BC breakage? Hel

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Dmitry Stogov
> Cc: [EMAIL PROTECTED]; Lukas Smith; Derick Rethans; Dmitry > Stogov; Andi Gutmans; 'PHP-DEV'; 'Marcus Boerger' > Subject: Re: [PHP-DEV] [PATCH] Late Static Binding > > > Hello Jeff, > > Thursday, March 2, 2006, 8:21:08 PM, you wrote: > > >

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Andi Gutmans
Yep. I was thinking mainly of methods not of static variables. I still think this:: is the best way (better than class::) At 12:12 PM 3/2/2006, Jeff Moore wrote: On Mar 2, 2006, at 2:23 PM, Andi Gutmans wrote: Do you expect significant BC breakage? Hello Andi, Here is an example where ch

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Jeff Moore
On Mar 2, 2006, at 2:23 PM, Andi Gutmans wrote: Do you expect significant BC breakage? Hello Andi, Here is an example where changing self to late binding would change behavior: class A { static $a = "hello world"; static function getA() { return self::$a;

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Marcus Boerger
Hello Jeff, Thursday, March 2, 2006, 8:21:08 PM, you wrote: > On Mar 2, 2006, at 11:33 AM, Mike Lively wrote: > Hi Mike, >> In regards to naming: 'static' wasn't my first choice either. In fact I >> was originally using 'this::' due to me misreading the notes from the >> PDM. > Does 'this' wor

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Marcus Boerger
Hello David, to me it was excellent in the first place, too. But when i started thinking about it and wrote some lines of coude i came to the result that the code is no longer understandable. marcus Thursday, March 2, 2006, 8:17:22 PM, you wrote: > this:: would be excellent, since $this also

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Mike Lively
Hello, On Thu, 2006-03-02 at 14:21 -0500, Jeff Moore wrote: > On Mar 2, 2006, at 11:33 AM, Mike Lively wrote: > > Hi Mike, > > > In regards to naming: 'static' wasn't my first choice either. In fact I > > was originally using 'this::' due to me misreading the notes from the > > PDM. > > Does 't

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Andi Gutmans
Do you expect significant BC breakage? At 07:27 AM 3/2/2006, Lukas Smith wrote: Derick Rethans wrote: On Thu, 2 Mar 2006, Jeff Moore wrote: Unfortunately, the problem with making self late binding is that that there are potential BC breaks. Is that possibility on the table? I don't think we

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Jeff Moore
On Mar 2, 2006, at 11:33 AM, Mike Lively wrote: Hi Mike, In regards to naming: 'static' wasn't my first choice either. In fact I was originally using 'this::' due to me misreading the notes from the PDM. Does 'this' work ok? I like that one. this:: and $this would both be late binding one

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread David Zülke
this:: would be excellent, since $this also references the actual class that's calling, not the one that declares. Very good idea! +1 - David Am 02.03.2006 um 20:14 schrieb Andi Gutmans: What about this:: ? Too confusing? At 08:33 AM 3/2/2006, Mike Lively wrote: Hallo, Firstly thanks fo

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Andi Gutmans
What about this:: ? Too confusing? At 08:33 AM 3/2/2006, Mike Lively wrote: Hallo, Firstly thanks for the comments. In regards to storing caller_scope in op_array: the arguments against this make perfect sense. I am still figuring out all of the nuances of the zend engine...so, equate it to rook

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Mike Lively
Hallo, Firstly thanks for the comments. In regards to storing caller_scope in op_array: the arguments against this make perfect sense. I am still figuring out all of the nuances of the zend engine...so, equate it to rookie mistake :P. I've tried rewriting the patch to use zend_execute_data to sto

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Lukas Smith
Derick Rethans wrote: On Thu, 2 Mar 2006, Jeff Moore wrote: Unfortunately, the problem with making self late binding is that that there are potential BC breaks. Is that possibility on the table? I don't think we should break any BC over this. Neither do I. regards, Lukas -- PHP Internals

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Derick Rethans
On Thu, 2 Mar 2006, Jeff Moore wrote: > Unfortunately, the problem with making self late binding is that that there > are potential BC breaks. Is that possibility on the table? I don't think we should break any BC over this. Derick -- PHP Internals - PHP Runtime Development Mailing List To un

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Jeff Moore
On Mar 1, 2006, at 9:50 PM, Andi Gutmans wrote: Yeah static is very confusing and I think it's a bad idea. I'm trying to think what a non-confusing way would be. Some ideas would be: a) using "class" e.g. class::method() b) change behavior of self:: to always be "virtual" and have people us

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-02 Thread Bart de Boer
final::foo(); Dmitry Stogov wrote: -Original Message- From: Andi Gutmans [mailto:[EMAIL PROTECTED] Sent: Thursday, March 02, 2006 5:51 AM To: Dmitry Stogov; 'Marcus Boerger'; 'Mike Lively' Cc: 'PHP-DEV' Subject: RE: [PHP-DEV] [PATCH] Late Static

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread David Zülke
Your examples 1-4 are bad. They snould use non-static methodos. Wrong. Example: Singletons where you could just do "MyObj extends SingletonObj" without having to re-implement getInstance(). - David -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Dmitry Stogov
Agree. The following constructs should use the same :::foo() get__calss() > -Original Message- > From: Jeff Moore [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 02, 2006 2:04 AM > To: 'Mike Lively' > Cc: PHP-DEV > Subject: Re: [PHP-DEV] [PATCH] Late Stat

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Dmitry Stogov
gt; Sent: Wednesday, March 01, 2006 11:45 PM > To: Dmitry Stogov > Cc: 'Mike Lively'; 'Andi Gutmans'; 'Marcus Boerger'; 'PHP-DEV' > Subject: Re: [PHP-DEV] [PATCH] Late Static Binding > > > > On Mar 1, 2006, at 9:37 AM, Dmitry Stog

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Dmitry Stogov
> -Original Message- > From: Andi Gutmans [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 02, 2006 5:51 AM > To: Dmitry Stogov; 'Marcus Boerger'; 'Mike Lively' > Cc: 'PHP-DEV' > Subject: RE: [PHP-DEV] [PATCH] Late Static Binding > &

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Andi Gutmans
At 06:37 AM 3/1/2006, Dmitry Stogov wrote: 1) I would very like to see some real example where "static" is necessary? It's needed when you implement a convention based system where the name of the Class has a meaning. For example in an OORDBMS mapping system, the name of the class could be th

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Jeff Moore
On Feb 23, 2006, at 5:06 PM, Mike Lively wrote: I also added a new function get_caller_class() which returns the name of the class that static:: would represent. I find get_caller_class() a bit confusing because it introduces new terminology (caller). May I suggest adding: get_self_class

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Jeff Moore
On Mar 1, 2006, at 3:45 PM, Jeff Moore wrote: static protected function configure($obj) { $obj = 'A'; } Oops. That should be $obj->iprop = 'A'. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Jeff Moore
On Mar 1, 2006, at 9:37 AM, Dmitry Stogov wrote: 1) I would very like to see some real example where "static" is necessary? Some use cases for late static binding, tested using self on 5.1.2: 1. What class am I really? class A { static function myclass() { return get_class();

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Lukas Smith
Marcus Boerger wrote: Hello Lukas, no the way things are now are just as expected. my point was this: why even bother with self:: ? you could just as well use the class name. its just syntactical sugar .. however late static binding actually gives you a useful feature (well one could argue

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Lukas Smith
Dmitry Stogov wrote: Patched PHP will modify zend_function->caller_scope at runtime. This can break ZTS version and probaby opcode caches. Storing runtime information in zend_function is bad decision. maybe stating the obvious here .. but opcode caches are important to everybody on this list

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Derick Rethans
On Wed, 1 Mar 2006, Lukas Smith wrote: > Zeev Suraski wrote: > > > 1. I don't think it's a very important feature, even though like any other > > feature we could possibly think of, we can come with use cases where it > > would be useful. In terms of complexity vs. usefulness, I think it's mor

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Derick Rethans
On Wed, 1 Mar 2006, Zeev Suraski wrote: > I actually don't recall there was consensus on even adding this feature in the > Paris meeting, let alone how to name it. You didn't object to the meeting notes either (on this part). This is the link to the notes again: http://www.php.net/~derick/meeti

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Derick Rethans
On Wed, 1 Mar 2006, Dmitry Stogov wrote: > Yes I like not a sintetic test but real life example (singleton, factory or > something else). > (I tried to write generic singleton but it wasn't exelent.) I do have an example somewhere, but I have to find it again :) regards, Derick -- PHP Internal

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Marcus Boerger
Hello Lukas, no the way things are now are just as expected. marcus Wednesday, March 1, 2006, 6:08:23 PM, you wrote: > Zeev Suraski wrote: >> 1. I don't think it's a very important feature, even though like any >> other feature we could possibly think of, we can come with use cases >> wh

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Lukas Smith
Zeev Suraski wrote: 1. I don't think it's a very important feature, even though like any other feature we could possibly think of, we can come with use cases where it would be useful. In terms of complexity vs. usefulness, I think it's more complex than useful. So how about this ... make

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Zeev Suraski
At 18:32 01/03/2006, Lukas Smith wrote: Zeev Suraski wrote: I actually don't recall there was consensus on even adding this feature in the Paris meeting, let alone how to name it. To quote the meeting results as linked in Mike's original post: 1. We re-use the "static::" keyword to do run

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Lukas Smith
Jochem Maas wrote: rather than an alternative form of static method calling or a new class related keyword, maybe a new magic constant would be sufficient? e.g. __CCLASS__ (C for 'Called') or __OWNER__ (the class the 'owns' the method? [from the view point of the caller]) i dont re

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Jochem Maas
Zeev Suraski wrote: At 16:50 01/03/2006, Lukas Smith wrote: Dmitry Stogov wrote: 1) I would very like to see some real example where "static" is necessary? I think Mike illustrated this in his post. Or do you want a "real" world example? 2) "static" is really bad name. I suggest "calle

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Lukas Smith
Zeev Suraski wrote: I actually don't recall there was consensus on even adding this feature in the Paris meeting, let alone how to name it. To quote the meeting results as linked in Mike's original post: 1. We re-use the "static::" keyword to do runtime evaluation of statics. 2. Marcus

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Zeev Suraski
At 16:50 01/03/2006, Lukas Smith wrote: Dmitry Stogov wrote: 1) I would very like to see some real example where "static" is necessary? I think Mike illustrated this in his post. Or do you want a "real" world example? 2) "static" is really bad name. I suggest "caller", Marcus thought about

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Lukas Smith
Dmitry Stogov wrote: Yes I like not a sintetic test but real life example (singleton, factory or something else). (I tried to write generic singleton but it wasn't exelent.) Yeah a singleton method that calls a factory method is a prime example. Now if you want to inherit that class you will

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Dmitry Stogov
> -Original Message- > From: Lukas Smith [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 01, 2006 5:50 PM > To: internals@lists.php.net > Subject: Re: [PHP-DEV] [PATCH] Late Static Binding > > > Dmitry Stogov wrote: > > 1) I would very like to see some

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Lukas Smith
Dmitry Stogov wrote: 1) I would very like to see some real example where "static" is necessary? I think Mike illustrated this in his post. Or do you want a "real" world example? 2) "static" is really bad name. I suggest "caller", Marcus thought about "class". I dont really see an issue wi

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Dmitry Stogov
"caller_scope" in execute_data. Thanks. Dmitry. > -Original Message- > From: Marcus Boerger [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 01, 2006 4:21 PM > To: Dmitry Stogov > Cc: 'PHP-DEV'; 'Mike Lively'; Andi Gutmans > Subject:

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Marcus Boerger
: Wednesday, March 01, 2006 3:03 PM >> To: Dmitry Stogov >> Cc: 'PHP-DEV'; 'Mike Lively' >> Subject: Re: [PHP-DEV] [PATCH] Late Static Binding >> >> >> Hello Dmitry, >> >> of course, what hinders you? >> See original mail fro

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Dmitry Stogov
me. Because "self" behave more 'static' (and proper). Thanks. Dmitry. > -Original Message- > From: Marcus Boerger [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 01, 2006 3:03 PM > To: Dmitry Stogov > Cc: 'PHP-DEV'; 'Mike Lively'

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Marcus Boerger
o:[EMAIL PROTECTED] >> Sent: Wednesday, March 01, 2006 1:01 PM >> To: PHP-DEV >> Cc: Andi Gutmans; Mike Lively >> Subject: Re: [PHP-DEV] [PATCH] Late Static Binding >> >> >> Hello internals, >> >>it looks like either nobody objects or nob

RE: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Dmitry Stogov
Can I look into patch? Dmitry. > -Original Message- > From: Marcus Boerger [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 01, 2006 1:01 PM > To: PHP-DEV > Cc: Andi Gutmans; Mike Lively > Subject: Re: [PHP-DEV] [PATCH] Late Static Binding > > > Hello

Re: [PHP-DEV] [PATCH] Late Static Binding

2006-03-01 Thread Marcus Boerger
Hello internals, it looks like either nobody objects or nobody has interest. Either way i tested the patch and worked helped it a bit and it looks good, doesn't affect anything else and doesn't show a single problem in valgrind. So If noone objects i will commit this next week. regards marcus

[PHP-DEV] [PATCH] Late Static Binding

2006-02-23 Thread Mike Lively
I have finished a patch that implements a working version of late static binding. I used the notes from the Paris PDM as my guidelines for implementation. (http://www.php.net/~derick/meeting-notes.html#late-static-binding-using-this-without-or-perhaps-with-a-different-name) As requested in the no