Hey David,
> A library written in weak or strict mode will have no bearing on its public 
> API.

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

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

Reply via email to