Hi
On 2026-07-15 02:54, Paul M. Jones wrote:
Per feedback from Tim Tim Düsterhus
<https://externals.io/message/131332#131899> I have extracted the
`declare(strict_namespace=1)` portion of the function autoloading
proposal to its own RFC.
- RFC: https://wiki.php.net/rfc/strict-namespace
- PR: https://github.com/php/php-src/pull/22736
Thank you for the RFC. I'm, probably unsurprisingly, in favor.
However I agree with Rowan that the naming of the directive could be
made clearer. I could imagine `declare(global_fallback=0)` (with 1 being
the default) being a reasonable option between clarity and brevity.
With regard to the “RFC Impact” section, the “None” for the ecosystem is
not quite accurate: Static analyzers and IDEs will want to learn about
the directive to
1. Emit diagnostics when a function or constant is not explicitly
imported and doesn't exist in the namespace.
2. Emit diagnostics when the directive is not used despite being
configured as “desirable” to make sure it is consistently applied within
an entire project.
This kind of “work being imposed because otherwise the tools would be
worse than they could be” on downstream projects is the main goal of the
“Ecosystem Impact” section, obvious compatibility breaks are already
listed in the “Backward Incompatible Changes” section :-)
Best regards
Tim Düsterhus