Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_execute.c /tests bug26802.phpt
| From: | Marcus Boerger | Date: | Mon, 05 Jan 2004 23:48:37 +0000 |
| Subject: | Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_execute.c /tests bug26802.phpt | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-6806@lists.php.net to get a copy of this message | ||
Hello Andrei,
Tuesday, January 6, 2004, 12:34:45 AM, you wrote:
> On Tue, 06 Jan 2004, Marcus Boerger wrote:
>> > On Tue, 06 Jan 2004, Marcus Boerger wrote:
>> >> I see "\$obj->blah" much different becasue it would require
>> >> evaluating the
>> >> string and access the current symbol table to get $obj. Further more we'd
>> >> need to patch $this and so on. On the other hand $class::$method() should
>> >> access the static property $method of class $class and call the result as a
>> >> function.
>>
>> > So you are breaking backwards-compatibility? Because in PHP 4
>> > "foo::$b()" would invoke the method named by $b, rather than accessing
>> > propert named by $b calling the result as a function.
>>
>> I only changed the what can be done with single variables. And there i added
>> the ability to call static methods like you can do from sqlite's sql. Please
>> show me an example that does work in 4 but not in 5 if i missed something.
> By your claim, class::$method() should access static property $method of
> class named 'class' and call the result as a function. It doesn't work
> that way in PHP 4.
That is because in PHP4 we don't have statics and yes it is a BC problem we
must live or we must drop statics.
> Is 'class::method' syntax supported by call_user_function() as well
> then?
No but for that you have call_user_method() or the preferred way of using
the array notation. When i made the patch that allowed static calls from
within sqlite i discussed this with Andi and we thought the array notation
would be enough for call_user_fun(). Howerver i was unaware that the problem
exists for our 'function pointers' as well.
--
Best regards,
Marcus mailto:helly@php.net