Re: Callable type
| From: | Hannes Magnusson | Date: | Wed, 08 Jun 2011 10:30:25 +0000 |
| Subject: | Re: Callable type | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-53202@lists.php.net to get a copy of this message | ||
On Wed, Jun 8, 2011 at 12:27, Richard Quadling <rquadling@gmail.com> wrote:
> On 8 June 2011 09:47, Alexey Shein <confik@gmail.com> wrote:
>> 2011/6/8 Hannes Magnusson <hannes.magnusson@gmail.com>:
>>> We have the situation in the docs that parameters declared as arrays
>>> do not follow the typehinting rules, but parameters as class names do.
>>> Re-using the callback from the docs could get confusing when
>>> extensions start to typehint on it, but not the core..
>>>
>>> I think there is a subtle difference between a callback, and a callable.
>>> In javascript for example, callback is something that is executed on
>>> certain events "onsuccess" is the typical example.
>>> There is nothing that says the callable parameter gets executed as a
>>> part of an event, and I think the default usecase would be to execute
>>> it right away (f.e. filtering data).
>>>
>>> I think I would prefer callable, but I could live with either.
>>>
>>
>> Wikipedia defines callback as "a reference to executable code, or a
>> piece of executable code, that is passed as an argument to other
>> code". So there's no "event" meaning put by default, it's just
>> very
>> often seen callback's usage in javascript.
>> I just like "callback" term more :)
>
> An interesting issue here.
>
> Closures, classes with an __invoke method and strings containing
> existing function names all pass is_callable() and can be called using
> ().
>
> But, array('class', 'method') also passes is_callable, but isn't a
> callback.
It is after Felipes recent commit introducing $array();
-Hannes