如何使用命名空间中的所有类,而不是单独列出所有类?

时间:2018-11-23 15:58:40

标签: php symfony controller namespaces entity

在我的控制器中,列出了我拥有的所有实体:

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

但是由于将自动创建新实体,因此我需要

之类的东西
use AllEntities;

这可能吗?

1 个答案:

答案 0 :(得分:3)

PHP中没有可用的选项可一次从特定名称空间导入所有类。

要使用特定的类,您需要定义所谓的完全限定的类名,以便对每个类使用use关键字,或者另一种选择是导入名称空间,但是在实例化或使用该名称空间时例如,使用class作为静态类,您需要使用导入的名称空间,后跟\和类名。

例如:      use Foo\Bar; $classOne = new Bar\ClassOne(); $classTwo = new Bar\ClassTwo();

仅当导入一个以Bar结尾的名称空间时,此方法有效。 否则,您需要为每个别名加上别名-重复的类名也是如此-它们也需要别名。这是关于内置可能性的。

对于您的特殊情况-如果您自动创建新实体,这意味着您要生成新代码-我在这里看到的唯一解决方案是扩展生成功能,以便在需要的地方生成一些新代码。