Я хочу отделить свое приложение, чтобы я мог использовать свои сущности в любом месте, независимо от их источника данных.
Итак, я поместил свои сущности в
DataAccessLayerBundle \ Entity
и сопоставления в
DataProvider \ DataBaseBundle \ Resources \ config \ doctrine
Проблема:
Когда я пытаюсь выполнить следующую команду:
php app \ console доктрина: схема: создать
для построения моей базы данных, я получаю следующую ошибку:
Предупреждение: class_parents (): Class (..) \ DataProvider \ DatabaseBundle \ Entity \ BaseEntity не существует и не может быть загружен в (...) \ vendor \ doctrine \ lib \ D octrine \ ORM \Строка Mapping \ ClassMetadataFactory.php 223
Вопрос: почему, черт возьми, он пытается искать классы в пространстве имен DataProvider \ DatabaseBundle \ Entity , когда я явно его определилиначе в файлах сопоставления?Пример фрагмента файла сопоставления:
<mapped-superclass name="(...)\DataAccessLayerBundle\Entity\Base\BaseEntity">
Я заметил, что symfony / doctrine просто ищет эти классы на основе имен файлов xml (например, BaseEntity.orm.xml) и текущего пространства имен пакета.
Есть ли способ, которым я могу отделить вещи, как я хотел, или я застрял с определением сущностей и их отображением в одном комплекте?