Am 19.09.2016 um 15:04 schrieb Vesa Kaihlavirta <vpkai...@gmail.com>:
> <?php declare(strict_comparisons=1);
> 
> $two = "2";
> if ($two > 1) {
>        echo "This sorta works without strict_comparisons=1" . PHP_EOL;
> }
> 
> ...would throw a TypeError exception after this change.

This sounds like a bad idea to me: Changing the language semantics of something 
so basic as the comparison operators seems like asking for trouble. One 
programmer will try to incorporate code from non-strict parts into strict parts 
and possibly gets exceptions even though the code works. Another programmer is 
puzzled about all the type casts (or even try/catch constructs) when moving 
code the other way around.

On top of that: Making it a runtime-setting or file-wide declaration seems like 
the most troublesome option.
Reminds me way too much of magic quotes :-)

Let's take a step back: If you want type-safety and your program is more or 
less well-structured then type declarations on function parameters should IMHO 
be more than sufficient.

Regards,
- Chris


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

Reply via email to