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