On Wed, 2011-06-08 at 12:17 +0200, Hannes Magnusson wrote:
> >> A callable wouldn't be fully featured type.
> >
> > Which means that
> > class callable { }
>
> No. 'callable' is a parser token.
Which has larger implications. This break code where people use callable
as constant, property, function or method name.
This seems to hit symfony and a few others.
http://google.com/codesearch?hl=en&lr=&q=lang%3Aphp+%22-%3Ecallable%
22&sbtn=Search
(yes breaking stuff can be fine, but we should at least be aware of
it ;-) )
> > Ok. I assume NULL as default value would be allowed, though. This would
> > be consistent for the language and allow such things:
> >
> > function foo(callback $cb = NULL) {
> > if (!$cb) {
> > $cb = function() { /* .. default implementation */
> > }
> > ....
> > }
>
> Etienne pointed out that default values for arrays can actually contain
> values..
> I actually had no idea.
>
> I suppose we then need to support default values for an array callable.
As I pointed out on IRC I'm not sure that's good, unless we want
closures as defaults, too. Which we probably won't like.
> But yes, a callable can have the default value of null, following the
> rules of class hinting.
Good.
johannes
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php