Hello Dmitry, can't we just commit it and when sombody finds a better working keyword we change it? (I'd like to use this in SPL_Types, to precise my reasoning).
regards marcus Friday, March 31, 2006, 8:47:42 AM, you wrote: > 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 Static Binding (Take 2) >> >> >> I took a quick glance through it and it mostly makes sense to me. If >> anyone could clear up a question when time permits: I don't fully >> understand why both executor_globals and and execute_data are used to >> store the caller_scope pointer. > EX(caller_scope) is just a temporary value it is set in > ZEND_INIT_METHOD_CALL and copied into EG(caller_scope) in > ZEND_DO_FCALL_BY_NAME. It is possible situation when sequence of > instructions will have several ZEND_INIT_METHOD_CALL before first > ZEND_DO_FCALL_BY_NAME. For example the following PHP code will produce it: > Foo::bar(test()); > To handle this situation EX(caller_scope) stored into special stack. > (I made EG(caller_scope) work near in the same way as EG(This) works). >> 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? > Thanks. Dmitry. > >> Mike Lively >> >> 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", >> > and I am not sure that this concept is necessary for PHP. >> > >> > Thanks. 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. >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> --- >> >> >> >> No virus found in this incoming message. >> >> Checked by AVG Free Edition. >> >> Version: 7.1.385 / Virus Database: 268.3.3/296 - Release Date: >> >> 3/29/2006 >> >> >> >> >> Best regards, Marcus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php