Configuration Doctrine2实体名称空间

Configuration Doctrine2实体名称空间,configuration,doctrine-orm,namespaces,annotations,entity,Configuration,Doctrine Orm,Namespaces,Annotations,Entity,我是Doctrine2的新手,我想知道如何告诉Doctrine我的实体使用哪个名称空间。 我的当前配置 我的所有实体都在名称空间“project\entity”中。 因此,每次我想要获得实体“颜色”,我必须写: $em->getRepository("project\\entity\\Color") 我如何配置条令以始终使用名称空间“project\entity”?通过在配置对象上使用addEntityNamespace来创建名称空间别名,您可以接近您想要的: $em->getCo

我是Doctrine2的新手,我想知道如何告诉Doctrine我的实体使用哪个名称空间。 我的当前配置

我的所有实体都在名称空间“project\entity”中。 因此,每次我想要获得实体“颜色”,我必须写:

$em->getRepository("project\\entity\\Color")

我如何配置条令以始终使用名称空间“project\entity”?

通过在配置对象上使用addEntityNamespace来创建名称空间别名,您可以接近您想要的:

$em->getConfiguration()->addEntityNamespace('NS1', 'Project\Entity');

$colorRepo = $em->getRepository('NS1:Color');
也适用于查询


顺便说一下,
“project\\entity\\Color”
也可以写成
“project\entity\Color”
。我还建议将项目和实体资本化以符合标准。

您可以添加一个空白名称空间别名“$em->getConfiguration()->addEntityNamespace(“”,'Project\Entity');”并使用它$colorRepo=$em->getRepository(':Color');没有错误。对我来说,它就像一个默认名称空间。我没有找到另一种方法来配置默认名称空间实体