Делаю бандл, в котором используется сущность, которой нет. Для тестов я её определил, но в итоговом варианте её не должно быть. Точнее я не знаю как поступить
Должна быть возможность переопределить сущность. Та что есть по умолчанию, она не обязательна. Но я не могу понять как её потом переопределить или унаследовать, чтобы в базе не создавалось этой лишней таблицы в миграциях.
---
Просто хочу общий функционал выделить для переиспользования. Сделал свой бандл авторизации по JWT токену. Для этого две сущности, User + UserToken - к ним два репозитори и менеджеры сущностей. Сервисы автотризации, регистрации, обновления токена, восстановления пароля. Контроллеры соответственно сервисам.
Хочу просто подключать этот бандл и чтобы сразу всё было по дефолту настроено. Но если прописать сущности как обычно, то их не получается расширить. Например в другом проекте нужно несколько полей добавить в User - но по простому в Доктрине этого не сделать. А ради одного-двух полей городить объединения не хочу.
Пока дошел до Интерфейсов. Но при создании User менеджеру нужно прописать эту сущность. Передавать просто как User::class ?
Я использую эту сущность в тестах с базой данных. Но его можно в принципе и по умолчанию в бандле использовать, но только чтобы была возможность его переопределить или унаследовать. Чтобы когда нужно он присутствовал в миграциях, а если его переопределили или унаследовали, то в миграциях была уже другая таблица.
Максим Федоров, благодарю за ответ. Просто хочу общий функционал выделить для переиспользования. Сделал свой бандл авторизации по JWT токену. Для этого две сущности, User + UserToken - к ним два репозитори и менеджеры сущностей. Сервисы автотризации, регистрации, обновления токена, восстановления пароля. Контроллеры соответственно сервисам.
Хочу просто подключать этот бандл и чтобы сразу всё было по дефолту настроено. Но если прописать сущности как обычно, то их не получается расширить. Например в другом проекте нужно несколько полей добавить в User - но по простому в Доктрине этого не сделать. А ради одного-двух полей городить объединения не хочу.
Пока дошел до Интерфейсов. Но при создании User менеджеру нужно прописать эту сущность. Передавать просто как User::class ?
Сделал абстрактные классы через @ORM\MappedSuperclas -но в менеджер всё равно нужно передать как-то сам класс чтобы он мог создавать сами записи
Не знаю. Просто в бандле хочу чтобы было уже всё. Сущность нужна чтобы хранить в базе данные пользователя. Я и так уже везде где можно прописал Интерфейсы. Сейчас вот добавил конфигурирование имени класса сущности. Почти получается :)