On 13 Jul 2014, at 12:35, Zeev Suraski <z...@zend.com> wrote:

> I haven't yet reviewed the conversion table in detail, but unless I'm
> missing something, this RFC is in fact much more in the spirit of PHP -
> and implements type juggling - unlike the previous incarnation of strict
> typing that almost made it into PHP.  It's a bit too strict to my liking
> (especially around conversion of floating point to int, which should pass
> and perhaps generate a notice IMHO), but this is a big step towards the
> spirit of what I proposed together with Lukas back in 2010
> (https://wiki.php.net/rfc/typecheckingstrictandweak) - which was an
> alternative to the strong typing suggested by several others.
> 
> 
> Type juggling is an *inherent* feature of PHP.  Paraphrasing what Rasmus
> said several years ago(*), 'if you implement this [strong typing], please
> don't call it PHP'.
> 
> Again, luckily, what Andrea proposes isn't strong typing.  It still
> maintains the most important properties of type juggling - e.g. the
> ability to work with strings coming in as input (GET/POST/etc.) without
> having to worry about typing.

Right. I think this RFC would strengthen PHP’s weak typing guarantees, because 
while internal functions will convert to the right type and hence avoid issues 
with strings and such not acting quite like integers in some situations, 
userland functions usually don’t. This RFC would mean that, at least for 
“hinted” functions, user_land_function($_GET[‘id’]) should work just as well as 
internal_function($_GET[‘id’]).

Also, it’s not really “what Andrea proposes”, it’s Anthony’s proposal, even if 
he is sadly absent from the list these days. I’m just trying to fix up the 
patch, iron out remaining wrinkles, and get this into PHP.

--
Andrea Faulds
http://ajf.me/





--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to