The `strict_types` directive is limited to applying strict type checking, 
throwing a TypeError instead of doing implicit type casting.

The strict operators RFC is trying to do the same. Unfortunately there are a 
view of cases where this isn't easily possible and the statement will have a 
different result based on the flag. After a fierce discussion, the general 
consensus is that this should be minimized as much as possible (if at all).

With bc-breaking changes, there has always had a similar notion. The old code 
should have the same effect or throw an error. Exceptions to this exist, but 
are rare.

The P++ and edition proposals go completely against this premise.
---

Secondly, introducing such a dialect would ultimately break up the language and 
stagnate the progression of PHP in general. For instance, I'd fear that 
something like the deprecation of the left-associative ternary operator would 
not make it into PHP 8, but instead would be forced towards the P++ dialect. 
Even though this has nothing to do with loose vs strict types.
---

We should look and discuss to find alternatives that allow PHP to progress, but 
where bc-breaking changes result in an error (as much as possible) and do not 
(radically) change the behavior of PHP.

[Arnold Daniels - Chat @ 
Spike](https://www.spikenow.com/?ref=spike-organic-signature&_ts=4202n)        
[4202n]

On August 11, 2019 at 10:36 GMT, Zeev Suraski <z...@php.net> wrote:

Reply via email to