On Wed, 26 May 2010, Davey Shafik wrote: > Would it be possible to support two syntaxes: > > function foo( (int) $bar) { } // auto-cast to int > function foo(int $bar) { } // require int
I think that's a brilliant plan. We won't ever agree on whether we want either strict type hinting, or casting typehinting and this provides both possibilities with the following pros: - The syntax is consistent for casting. We already support (int) $bar anywhere else. - The syntax is consistent for strict type checking. We already support throwing errors with foo(ClassName $bar). - There are no new conversion rules that can confuse people. - Type checking with "int $bar" will stay fast, as we only have to compare type. > There has never been casting to objects other than stdClass, so I > don't think it conflicts that there is no: > > function foo( (DBAdapter) $bar) { } Something we could add later? :) regards, Derick -- http://derickrethans.nl | http://xdebug.org Like Xdebug? Consider a donation: http://xdebug.org/donate.php twitter: @derickr and @xdebug -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php