Как я могу использовать все классы из пространства имен вместо того, чтобы перечислять их все по отдельности? - PullRequest
0 голосов
/ 23 ноября 2018

В моем контроллере я перечисляю все имеющиеся у меня сущности:

use App\Entity\Members;
use App\Entity\Products;
use App\Entity\Projects;

Но поскольку новые сущности будут создаваться автоматически, мне нужно вместо этого что-то вроде

use AllEntities;

Возможно ли это?

1 Ответ

0 голосов
/ 23 ноября 2018

В PHP нет возможности импортировать сразу все классы из определенного пространства имен.

Чтобы использовать определенный класс, вам нужно определить так называемое полное имя класса, чтобы оно означало использование ключевого слова use для каждого класса ИЛИ другой вариант - импортировать пространство имен, но при создании экземпляра или использованииэтот класс в качестве статического, например, вам нужно использовать импортированное пространство имен, за которым следуют \ и имя класса.

Например: use Foo\Bar; $classOne = new Bar\ClassOne(); $classTwo = new Bar\ClassTwo();

Это действительно, когда существует только одно пространство имензаканчивается на Bar импортируется.В противном случае вам нужно присвоить псевдоним каждому - то же самое относится к повторным именам классов - они также должны быть псевдонимами.Речь идет о встроенных возможностях.

Когда речь идет о вашем конкретном случае - если вы автоматически создаете новые объекты, что означает, что вы генерируете новый код - единственное решение, которое я вижу здесь, - это расширение возможностей вашего поколения длясоздание нового кода в тех местах, где он вам нужен.

...