rfc:fallback-to-root-scope-deprecation
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:fallback-to-root-scope-deprecation [2018/02/03 07:52] – wesnetmo | rfc:fallback-to-root-scope-deprecation [2018/02/03 08:32] – wesnetmo | ||
---|---|---|---|
Line 9: | Line 9: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Fallback to global scope allow users to access | + | Fallback to global scope allows namespaces |
- | At the time the feature was introduced, there was no '' | + | <code php> |
- | today, authors that really hate writing '' | + | namespace Bar; |
+ | strlen(); | ||
+ | // first tries to call \Bar\strlen() | ||
+ | // if not found, fallbacks to \strlen() | ||
+ | </ | ||
This feature causes more harm than good, since it prevents PHP from implementing **in a sensible manner** long-requested features like function autoloading. Additionally, | This feature causes more harm than good, since it prevents PHP from implementing **in a sensible manner** long-requested features like function autoloading. Additionally, | ||
Line 67: | Line 71: | ||
); | ); | ||
</ | </ | ||
+ | |||
+ | However, if this RFC passes, authors should try to avoid the Notice by writing `\strlen()` or `use function {strlen, strpos};` in their code, which are **plenty of solutions covering any code style**. | ||
+ | |||
+ | ===== Migration Tools ===== | ||
+ | |||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - More coming soon... | ||
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
Line 82: | Line 95: | ||
===== References ===== | ===== References ===== | ||
- | @TODO link discussion | + | - [[https:// |
rfc/fallback-to-root-scope-deprecation.txt · Last modified: 2018/02/03 16:26 by wesnetmo