Symfony кастомизация locale

Тестирую с симфони, пытаюсь сделать проект с геотергетингом. Для Этого я решил использовать встроенный в симфони locale, но переделать его под города. Прикрутил определение и запись города, все хорошо, но столкнулся с проблемой так называемого whiteList для городов. Дело в том что мне не нужно чтобы в маршрут попадали "левые url". Сделал так:

#routes.yaml

main_locale:
   path: /{_locale}
   controller: App\Controller\Web\MainController::index
   requirements:
      _locale: '%app.locales%'

Затем в параметрах указал:

locales.yaml

parameters:
  app.locales: moscow|saratov|sochi

Все работает хорошо, однако это удобно в случае, когда городов немного, а если их 1000, прописывать каждый не хочется, удобнее тянуть из базы или из метода. Подскажите, пожалуйста, как лучше сделать в таком случае?


Ответы (1 шт):

Автор решения: Derp

Проблему решил следующим образом: Добавил проход компилятора "CompilerPass" в котором добавил определение параметра, добавил собственный бандл, подключил его. Основная ошибка с которой я столкнулся, это подключение к базе в CompilerPass, по какой-то причине doctrine.dbal.url - не работал, пришлось вручную в doctrine.yaml вписывать подключение к базе, что не очень хорошо, но работает. Причину этой ошибки я не совсем понимаю, так что если есть решение лучше, просьба подсказать в комментариях.

→ Ссылка