On Thu, Jul 29, 2010 at 8:18 AM, Kalle Sommer Nielsen <ka...@php.net> wrote: > > Hello Zeev > > 2010/7/29 Zeev Suraski <z...@zend.com>: > > With the revived interest in the neighbourhood of type hints in the last few > > days I'm resending this email from a few weeks ago. > > > > In a nutshell, use auto-conversion for scalar type hints, and modify the > > conversion rules throughout PHP to handle 'senseless' conversions that > > result in data loss differently - by emitting E_TYPE. > > > > Zeev > > Ill be very much against adding a new error level for typing, E_NOTICE > or E_WARNING should be *enough* for letting the user know of any data > loss. I don't think it would be a good idea for adding a new error > level for specific language features, if we went to use exceptions for > everything it would however have been a sleek solution but we don't. > > As for which solution we should take, we need a userland vote and a > core vote foreach of the 3 solutions we have atm.: > * Strict typehinting (as whats currently in trunk) > * Weak typehinting (with silent autoconvertion) > * Weak typehinting (that emits warnings/notices/type warnings) > > It would be nice to have such a vote so the coming RM's also have > control over which solution is preferered and eventually why its > preferered.
While on the subject of type-hinting, I propose the idea of a "callback" type hint, which accepts anything that is callable. This is useful because it allows a function to be sure a given argument is callable, and can then safely use it to call a function which requires a callback, or safely call it using $f(). I think this also falls in the category of array/Object type hints meaning that it doesn't present the controversies of strict vs. weak, so I think it could be a good candidate for inclusion. I made a patch a few weeks back to do this and can post it if anyone is interested. Best regards, --Matthew -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php