| From | Sent On | Attachments |
|---|---|---|
| Hannes Magnusson | Jun 6, 2011 12:41 pm | .txt |
| Stas Malyshev | Jun 6, 2011 1:35 pm | |
| Hannes Magnusson | Jun 6, 2011 1:48 pm | |
| Christopher Jones | Jun 6, 2011 1:49 pm | |
| Stas Malyshev | Jun 6, 2011 2:16 pm | |
| Matthew Weier O'Phinney | Jun 6, 2011 3:15 pm | |
| Pierre Joye | Jun 6, 2011 3:26 pm | |
| Matthew Weier O'Phinney | Jun 6, 2011 3:32 pm | |
| Etienne Kneuss | Jun 6, 2011 3:41 pm | |
| Chris Stockton | Jun 6, 2011 3:51 pm | |
| Chris Stockton | Jun 6, 2011 3:52 pm | |
| Ferenc Kovacs | Jun 6, 2011 4:01 pm | |
| Stas Malyshev | Jun 6, 2011 4:01 pm | |
| Chris Stockton | Jun 6, 2011 4:20 pm | |
| Derick Rethans | Jun 6, 2011 4:30 pm | |
| Martin Scotta | Jun 6, 2011 7:50 pm | |
| Jordi Boggiano | Jun 7, 2011 3:08 am | |
| Hannes Magnusson | Jun 7, 2011 6:59 am | |
| Richard Quadling | Jun 7, 2011 7:03 am | |
| Hannes Magnusson | Jun 7, 2011 7:21 am | |
| Jaroslav Hanslik | Jun 7, 2011 8:22 am | |
| Matthew Weier O'Phinney | Jun 7, 2011 9:10 am | |
| Stas Malyshev | Jun 7, 2011 11:50 am | |
| David Zülke | Jun 7, 2011 12:03 pm | |
| Stas Malyshev | Jun 7, 2011 12:12 pm | |
| David Zülke | Jun 7, 2011 12:28 pm | |
| Anthony Ferrara | Jun 7, 2011 12:37 pm | |
| Martin Scotta | Jun 7, 2011 1:28 pm | |
| Stas Malyshev | Jun 7, 2011 1:31 pm | |
| David Zülke | Jun 7, 2011 1:32 pm | |
| Pierre Joye | Jun 7, 2011 1:36 pm | |
| Mike van Riel | Jun 7, 2011 1:43 pm | |
| Matthew Weier O'Phinney | Jun 7, 2011 1:44 pm | |
| dukeofgaming | Jun 7, 2011 2:15 pm | |
| Matthew Weier O'Phinney | Jun 7, 2011 2:41 pm | |
| dukeofgaming | Jun 7, 2011 3:38 pm | |
| Johannes Schlüter | Jun 7, 2011 4:39 pm | |
| David Zülke | Jun 7, 2011 5:04 pm | |
| Alexey Shein | Jun 7, 2011 10:24 pm | |
| Hannes Magnusson | Jun 8, 2011 1:31 am | |
| Hannes Magnusson | Jun 8, 2011 1:38 am | |
| Alexey Shein | Jun 8, 2011 1:47 am | |
| Johannes Schlüter | Jun 8, 2011 3:04 am | |
| Hannes Magnusson | Jun 8, 2011 3:17 am | |
| Richard Quadling | Jun 8, 2011 3:27 am | |
| Johannes Schlüter | Jun 8, 2011 3:28 am | |
| Hannes Magnusson | Jun 8, 2011 3:30 am | |
| Johannes Schlüter | Jun 8, 2011 3:31 am | |
| Richard Quadling | Jun 8, 2011 3:31 am | |
| Anthony Ferrara | Jun 8, 2011 6:31 am | |
| Martin Scotta | Jun 8, 2011 7:42 am | |
| Martin Scotta | Jun 8, 2011 7:48 am | |
| David Zülke | Jun 8, 2011 8:53 am | |
| Johannes Schlüter | Jul 10, 2011 12:02 pm | |
| Stas Malyshev | Jul 10, 2011 12:57 pm | |
| Hannes Magnusson | Jul 11, 2011 1:21 am | |
| Stas Malyshev | Jul 11, 2011 1:27 am | |
| Peter Cowburn | Jul 11, 2011 1:37 am | |
| Hannes Magnusson | Jul 11, 2011 1:38 am | |
| Stas Malyshev | Jul 11, 2011 1:43 am |
| Subject: | Re: [PHP-DEV] Callable type | |
|---|---|---|
| From: | Richard Quadling (rqua...@gmail.com) | |
| Date: | Jun 8, 2011 3:27:31 am | |
| List: | net.php.lists.internals | |
On 8 June 2011 09:47, Alexey Shein <con...@gmail.com> wrote:
2011/6/8 Hannes Magnusson <hann...@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.
outputs ...
object is callable Invoked : Wed, 08 Jun 2011 11:24:09 +0100 object is callable Closure : Wed, 08 Jun 2011 11:24:09 +0100 string is callable Wed, 08 Jun 2011 11:24:09 +0100 array is callable Handling Array via call_user_func Func array : Wed, 08 Jun 2011 11:24:09 +0100
So, callable and callbacks are 2 different things.
Callable 1 - closures. 2 - classes with an __invoke method. 3 - strings to an existing function. 4 - array('class', 'method')
Callbacks Only 1, 2 and 3 from the above list.
If you try to use $funcarray(), you get the following fatal error ...
Fatal error: Function name must be a string
-- Richard Quadling Twitter : EE : Zend : PHPDoc @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php






.txt