2013-12-03 2 views
5

Я новичок в Doctrine2 и люблю знать, как я могу рассказать Doctrine, которое использует пространство имен моих объектов. Моя текущая конфигурация is this.Doctrine2 Entity Namespace

Все мои сущности находятся в пространстве имен "project \ entity". Таким образом, каждый раз, когда я хочу, чтобы получить объект «Color», я должен написать:

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

Как я могу настроить Доктрина всегда использовать пространство имен «проект \ объект»?

ответ

8

Вы можете приблизиться к тому, что вы хотите с помощью addEntityNamespace вашего объекта конфигурации, чтобы создать псевдоним пространства имен:

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

$colorRepo = $em->getRepository('NS1:Color'); 

Работы для запросов, а также.

К сожалению, "project\\entity\\Color" также может быть начислено как 'project\entity\Color'. Я также предлагаю капитализировать проект и организацию только для соответствия стандартам.

+2

вы можете добавить псевдоним псевдонима "$ em-> getConfiguration() -> addEntityNamespace ('', 'Project \ Entity');" и используйте его $ colorRepo = $ em-> getRepository (': Color'); без ошибок. Для меня это похоже на пространство имен по умолчанию. Я не нашел другого способа настроить пространство имен объектов по умолчанию – Mikl

Смежные вопросы