Используя Symfony 4 или 5, я пытаюсь создать одно приложение, которое прозрачно общается с doctrine через менеджер сущностей, используя EM по умолчанию, но меняя соединение в зависимости от локали.
Идея состоит в том, чтобы Как проверить локаль во время выполнения и выбрать правильное соединение БД, которое будет использоваться для всего запроса. Таким образом, $doctrine->getEntityManager()
должен возвращать менеджера с правильным соединением как для использования в репозиториях, так и с помощью аутентификации брандмауэра и любой другой службы, которая подключается к БД.
БОНУС должен быть возможен при запуске команд для укажите, какое соединение использовать.
Подробности:
- Symfony 4 или выше.
- PHP 7>.
- Одна и та же модель используется для каждой страны.
- Для запросов http локаль находится в URL.
- URL для всех баз данных находится в файлах env
Моя собственная попытка сделать это:
Если попытаться расширить Doctrine\DBAL\Connection
сделать обертку, используя конфигурацию доктрин, но не смогли найти способ изменить все параметры подключения. (измените URL на ведущие и ведомые БД) Для запросов и консоли.
Любая помощь очень ценится