RE: STH and the 3 RFCs
| From: | Theodore Brown | Date: | Mon, 16 Mar 2015 14:45:36 +0000 |
| Subject: | RE: STH and the 3 RFCs | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-85063@lists.php.net to get a copy of this message | ||
On Monday March 16 at 9:33 am Thomas Punt wrote:
> Strictly speaking (pun intended), this is not true. A library can easily expose a
> facade that enforces a user of that library (who is in weak mode) to have to write
> in strict mode [1]. Once more, this can be done unintentionally [2] because of the
> caller-deciding semantics. These examples can be further extended into wrapper
> classes, nested library dependencies, etc.
>
> Sure, you could argue that this could easily be turned off by simply removing the
> top declare() statement of that library, but modifying the library in itself introduces
> complications - especially when using dependency managers like Composer.
>
> [1] https://gist.github.com/tpunt/4830d18d47e2df021c2f
> [2] https://gist.github.com/tpunt/eecfed2495bdccb73632
This is a bug in the library. It declares strict mode but passes a value it
does not know to be an integer to a method requiring an integer. It can
be fixed by simply adding an int type declaration to the constructor or
test method.
Thanks,
Theodore