Hello Dmitry,

  my patch doesn't change anything. If just adds stuff that deals with
defined functions only. If now you want to support all functions that
can be defined later it wouldn't work this way (1). Actually it would
require parsing the zval and checking whether it might get callable in
some future. While this is the right solution for error handlers it is
not the right way for stuff like callback in array and SPL functions.
Once those are called the callback is used hence there is no way it
can suddenly come out of nowhere. My patch now adresses this in a way
that is much more efficient than doing a two phase approach.

best regards
marcus

(1) I experiemened with 'F' parsing that only verified if something
might get callable at some point. Though that worked it was unneccessary
slow for the intended purpose.

Wednesday, May 31, 2006, 8:29:01 AM, you wrote:

> Hi Marcus,

> We discussed the patch.

> Several notes:
> PHP allowed pass callback function or method that is not defined yet. 
> Your patch disallows this.

> <?php
> some_internal_func("foo");
> eval("function foo() {}");
?>>

> Usage of default values for functions will be problematic with it.
> I don't think that we really need special case for 'callback' afguments.
> (It would be good for strong-typed language).

> According to helpers, I would like suggest to add them into SPL  itself and
> don't overload ZE.

I can do so but don't see sense in doing so.

best regards
marcus

>> >Date: Sat, 27 May 2006 22:32:13 +0200
>> >From: Marcus Boerger <[EMAIL PROTECTED]>
>> >Reply-To: Marcus Boerger <[EMAIL PROTECTED]>
>> >To: Andi Gutmans <[EMAIL PROTECTED]>, Zeev Suraski <[EMAIL PROTECTED]>,
>> >         Ilia Alshanetsky <[EMAIL PROTECTED]>
>> >Cc: internals@lists.php.net
>> >Subject: MFHing zend_fcall_info_*() to 5.2
>> >X-Bogosity: No, tests=bogofilter, spamicity=0.000475, version=0.92.8
>> >
>> >Hello Andi, Zeev, Ilia,
>> >
>> >   the attached patch adds three new functions that make calling 
>> >functions a lot easier - at least for me in SPL. And it also 
>> does a few 
>> >things correct which are probably overseen easily. The 
>> addition works 
>> >in HEAD already and paases all memcheck tests idid so far.

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to