Hi,

On Thu, May 27, 2010 at 09:45, Arvids Godjuks <arvids.godj...@gmail.com> wrote:
> Just wanted to remind everyone that option #3 proposed earlier doesn't
> include auto-casting when data loss is happening.
>
> That means:
>
> function hintMe(int $number) {
> }
>
> hintMe(1);
> hintMe("1");
> hintMe("1.0");
> hintMe(array(1)); - Error or notice, no array -> int conversions
> hintMe(1.25); - Error or notice because data is lost.
> hintMe("1 abc"); - Error or notice because data is lost.
>
> As I understood the author. So basically we are free of type juggling
> in cases when strait forward conversion can be done. like "1" => 1
> (int), "20.2" => 20.2 (float).
> We receive a warning or  a fatal error when we pass something that
> can't be converted straight forward like 1.01 => 1 (int) or "1 abs" =>
> 1 (int), array(20) => 20.0 (float) and so on. The basic concept as I
> understood is: Convert if there is no data loss, else give an error.
>
> So please, stop discussing this, it really annoys to read the same
> thing over and over again.
>
> As I said earlier, I'm against strict type checking and there is a
> good reason for that: As someone already mentioned, in PHP we are
> dealing with strings 90% of the time - GET, POST, data from databases
> or any other external source. We get integers and floats only when
> stuff is initialized or calculated inside the script. For the external
> data we rely on type auto conversion with some additional checks if
> needed (I don't think you will ever check the field type when
> selecting from database, because I know it's type in schema - you just
> use it and rely on automatic conversion).

90% of your function calls are involving values with random scalar
types? really ?

Personally, I think it would be extremely bad code, but actually, I
doubt it's even true.

>
> So really - can we stop arguing, polish the rules and get to the
> implementation? :)
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



-- 
Etienne Kneuss
http://www.colder.ch

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

Reply via email to