Я использую YAML для настройки сопоставлений Doctrine ORM в Symfony 4. Есть ли способ указать имя класса объекта вручную в его конфигурации? Похоже, что имя класса сущности сгенерировано на основе имени файла конфигурации yml, и нет возможности его переопределить.
Скажем, у меня есть конфигурация отображения под названием Foo.orm.yml. Doctrine будет думать, что настоящее имя класса сущности - Foo. Но что, если я хочу, чтобы файл Foo.orm.yml отображал таблицу в класс Bar? Итак, я думал о чем-то вроде опции class внутри конфигурации, но ничего не нашел в Интернете.
#file Foo.orm.yml
Bar:
class: Bar
type: entity
table: bar
id:
id:
type: integer
generator: { strategy: NONE }
fields:
foo:
type: string
bar:
type: boolean
В сопоставлениях XML есть опция name: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/xml-mapping.html, которая не работает в YAML.






Измените Бар на AppBundle \ Entity \ Bar
AppBundle\Entity\Bar:
type: entity
table: bar
id:
id:
type: integer
generator: { strategy: NONE }
fields:
foo:
type: string
bar:
type: boolean
Вот как я использую его в своих проектах (3.4)
Не работает. Пакет Doctrine игнорирует этот ключ верхнего уровня.