Re: Type hinting
| From: | Derick Rethans | Date: | Wed, 26 May 2010 22:30:27 +0000 |
| Subject: | Re: Type hinting | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-48482@lists.php.net to get a copy of this message | ||
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