Подтвердить что ты не робот

Symfony2/Doctrine2: создавать объекты, которые находятся за пределами пакета

Я пытаюсь сгенерировать объекты для моего приложения Symfony 2. Сущности будут разделяться несколькими пакетами (и, возможно, несколькими приложениями), и поэтому я не хочу, чтобы они принадлежали к набору. Я хочу, чтобы они находились в папке src/MyApp/Entity.

У меня уже есть YML для моих объектов, хранящихся в src/MyApp/Entity/config/doctrine (class1.orm.yml,...)

Я пытаюсь создать соответствующие классы PHP, используя инструкцию doctrine: generate: entities

Вот что я имею в своем приложении /config/config.yml

orm:
    auto_generate_proxy_classes: %kernel.debug%
    auto_mapping: false
    mappings: 
      AppRest: 
        type: yml 
        prefix: AppRest\Entity 
        dir: %kernel.root_dir%/../src/AppRest/Entity/config/doctrine

Вот команда, которую я использую для создания сущностей

php app/console doctrine:generate:entities AppRest/Entity

Вот исключение, которое я получаю

[InvalidArgumentException]
Bundle "AppRest" does not exist or it is not enabled.

Я хочу, чтобы доктрина поняла, что я не пытаюсь генерировать объекты, которые находятся в комплекте. Я также попытался указать параметр -path (-path = src/AppRest/Entity), но ничего не изменил.

Может ли кто-нибудь помочь?

Изменить:

Я удалил лишнее место в моем директории, который решил проблему. Параметр пути должен быть указан

4b9b3361

Ответ 1

Собственно, мне просто не хватало пробела в моем списке опций выше. Это работает сейчас, но мне все еще интересно, лучший ли это путь.

Ответ 3

Если у вас есть такая ошибка, проверьте, указано ли имя ярлыка пакета, а не имя каталога пакета. Например, если у вас есть Acme\DemoBundle, это будет AcmeDemoBundle. В этом случае

orm:
    mappings: 
      DemoBundle: 
          ....

НЕПРАВИЛЬНО.

правильный:

orm:
    mappings: 
      AcmeDemoBundle: 
          ....