My previous message can be seen at https://news-web.php.net/php.internals/107887 (marc.info seems to show it as base 64 encoded text.) It links to a PR https://github.com/php/php-src/pull/4951 implementing this
>A more cosmetic consideration is that the more generic the syntax looks, >the more people will want it to work for other use cases. I can imagine >"use function * works but use Foo\* doesn't" ending up on websites like >PHPSadness. A more specific statement, like a declare, or "use global >functions", is more obviously a one-off. Good point. My original thinking was that it'd allow `use function Foo\*;` to be used in the future, but: - With the way namespaces work, using more than one "wildcard" would result in unintuitive behavior. (based on what files were loaded at call time, and what the order of the `use` was. Also, instead of checking 2 namespaces, php would have to check an arbitrary list of namespaces. - People new to the language would assume `count` would keep working despite adding `use function Foo\*;` (e.g. seeing that require/print/isset/empty/eval resemble functions, and would continue to work) Also, there's the large difference between PHP and Python/Java. The functions in the module are known at the time of import for those, but not for "use" in PHP. So rethinking it, something non-generic like "use global functions;" would be my preference. Initial plan for a voting structure: 1. Whether a way to opt into exclusively checking global functions and constants should exist 2. Whether this should be part of declare(lookup_functions_in_current_namespace=1) or a "use" statement, if it does exist 3. The preferred "use" syntax, if there is not clear preference ("use global functions;" or "use function *;" or otherwise) -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php