On 18 Jul 2014, at 14:09, Andrea Faulds <[email protected]> wrote:
> I’ve updated the RFC and patch to make int, string and double nullability
> work like the other types (bool already did). If the default value isn’t
> NULL, NULL isn’t accepted and you’ll get E_RECOVERABLE_ERROR. If the default
> value is NULL, NULL is accepted and will not be casted.
>
> This will likely lead to less bugs as NULL is a common error value, and it
> also makes the scalar type hints more consistent with the others.
Thank you very much for making this change. It goes a long way towards making
scalar type annotations more useful to me as a userland developer. Also, I
really like the new "numeric" type hint.
The one remaining issue I have with this proposal is that boolean values are
currently accepted for every other scalar type except array. As with NULL,
FALSE is a common error value, and allowing booleans to be passed to a function
expecting a string or numeric value could easily mask errors and lead to
hard-to-debug issues in a program. Just as a string cannot be passed to a
function expecting a boolean, a boolean should not be passed to a function
expecting a string, etc.
Thanks for all you do for the community.
--
Theodore Brown
A PHP developer interested in the future of the language
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php