Martin Scotta
On Wed, Jun 8, 2011 at 10:31 AM, Anthony Ferrara <ircmax...@gmail.com>wrote: > > No default values, other then NULL allowed. > > Otherwise we would need to support array("classname", "methodname") > > too, and then people would want default array values for array > > typehinting etc etc etc. > > Unless I mis-read what you said, we already have default array values > for array type-hinting: > > function foo(array $array = array('bar', 'baz')) { > var_dump($array); > } > > foo(); > > foo(array()); > > Works perfectly for me on 5.3.6... > it works since long time ago > > 2011/6/8 Hannes Magnusson <hannes.magnus...@gmail.com>: > > 2011/6/8 Johannes Schlüter <johan...@schlueters.de>: > >> On Tue, 2011-06-07 at 12:12 -0700, Stas Malyshev wrote: > >>> Hi! > >>> > >>> > https://wiki.php.net/rfc/callable > >>> > >>> It is good there's an RFC. However it seems to lack code examples. I > >>> understand it may be obvious to the proposers how it looks like, but > >>> it'd be nice to have the actual example there as it is done nearly > >>> everywhere else. > >> > >> The RFC is missing information about what happens in codebases which > >> already have a "callable" type declared. Will that be prevented or will > >> they hit a runtime error? ("callable expected, callable type found") > > > > You mean an interface/class with that name? > > The error would be 'expected instanceof callable, string/array/closure > recieved. > > > > gettype("strpos") will still return a string, not callable. > > > > A callable wouldn't be fully featured type. > > > >> What about default values? Will > >> function foo(callback $cb = 'strpos') { } > >> be valid? > > > > No default values, other then NULL allowed. > > Otherwise we would need to support array("classname", "methodname") > > too, and then people would want default array values for array > > typehinting etc etc etc. > > > > > > > >> The information on reflection is limited. what shall > >> Reflection::Parameter::getTypehint() return? Will that method allow to > >> differ between a class type and this "magic"? > > > > There is no such method anymore :) > > > > > >> > >> What about ARGINFO? Will internal functions be able to define this type > >> via ARGINFO? How will this be reported in `php --rf function`? > > > > I didn't include arginfo in the patch, but good point. It should > > probably be included. > > As Felipe pointed out, ext/reflection hasn't been updated. > > It should return [ callable $foobar ], just like with any other typehint > > > > -Hannes > > > > -- > > PHP Internals - PHP Runtime Development Mailing List > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >