I have prepared an RFC titled “use-from syntax for namespace use declarations” which proposes an alternative use syntax that improves readability by placing imported symbols first, followed by a namespace prefix introduced by from.
Example:
use ClassA from Vendor\Package;
use {ClassB, ClassC as C} from Vendor\Package;
This is syntax sugar equivalent to existing imports:
use Vendor\Package\ClassA;
use Vendor\Package\{ClassB, ClassC as C};
I have already implemented the necessary changes to the Zend Engine (lexer, parser, tokenizer exposure) along with comprehensive test coverage. The implementation:
Introduces T_FROM token
Supports single imports, grouped imports, and function/const imports
Treats from as a soft keyword to preserve backward compatibility (function from() remains valid)
Includes 7 new test cases in Zend/tests/ plus tokenizer test
I would appreciate receiving wiki karma to create and publish this RFC for community discussion. My wiki account username is: “str”\
On Tue, Dec 30, 2025 at 5:25 PM Stuardo -StR- Rodríguez <str@maphpia.com> wrote:
My name is Stuardo Rodríguez, and I would like to request RFC karma to publish an RFC on the PHP wiki.
RFC karma was granted. Good luck!
I have prepared an RFC titled "use-from syntax for namespace use declarations" which proposes an alternative `use` syntax that improves readability by placing imported symbols first, followed by a namespace prefix introduced by `from`.
Example:
use ClassA from Vendor\Package;
use {ClassB, ClassC as C} from Vendor\Package;
This is syntax sugar equivalent to existing imports:
use Vendor\Package\ClassA;
use Vendor\Package\{ClassB, ClassC as C};
I think such a proposal will have a very hard time passing. The
existing syntax is obviously well established as it has existed for
almost two decades. The alternative syntax doesn't immediately seem
better, other than being different (and probably closer to JS).
You'd need to make a strong case about why this new syntax is
necessary (though I don't personally believe there is one).
On Tue, Dec 30, 2025 at 5:25 PM Stuardo -StR- Rodríguez <str@maphpia.com> wrote:
My name is Stuardo Rodríguez, and I would like to request RFC karma to publish an RFC on the PHP wiki.
RFC karma was granted. Good luck!
I have prepared an RFC titled “use-from syntax for namespace use declarations” which proposes an alternative use syntax that improves readability by placing imported symbols first, followed by a namespace prefix introduced by from.
Example:
use ClassA from Vendor\Package;
use {ClassB, ClassC as C} from Vendor\Package;
This is syntax sugar equivalent to existing imports:
use Vendor\Package\ClassA;
use Vendor\Package\{ClassB, ClassC as C};
I think such a proposal will have a very hard time passing. The
existing syntax is obviously well established as it has existed for
almost two decades. The alternative syntax doesn’t immediately seem
better, other than being different (and probably closer to JS).
You’d need to make a strong case about why this new syntax is
necessary (though I don’t personally believe there is one).
Regards,
Ilija
Another thing to think about is that PHP doesn’t have the concept of modules, and the use statements aren’t importing anything. They are essentially declaring aliases.
In working with other programmers new to PHP, this has been a major point of confusion, since use doesn’t behave like importing in JavaScript or Python, for example. I think this new syntax will lead to further confusion because it makes namespaces seem even more like modules.