Я реализую веб-приложение с использованием Symfony 2. У него есть главная страница, которая обслуживается через «CoreBundle», который загружает содержимое других пакетов приложений в div.Чтобы справиться с этим, я хочу, чтобы маршрут CoreBundle перехватывал все маршруты, а затем перенаправлял запрос пакетам приложений, чтобы получить содержимое внутри div.
маршрут:
@Route("{app_name}/{garbage}", name="_core_app_garbage", requirement={"garbage"=".*"})
Это прекрасно работает.Он захватывает все маршруты с $ app_name, установленным на имя приложения (первый подкаталог), а остальная часть URI находится внутри $ garbage.
Моя проблема заключается в попытке найти маршрут для $ garbage в пределах определенногоприложение.Базовый пакет знает имя пакета для приложения.
До сих пор я пробовал следующие две вещи:
Используйте службу маршрутизатора, чтобы найти маршрут, нопопытка удалить маршрут «поймать все»:
$router->getRouteCollection()->remove("_core_app_garbage");
Это, похоже, ничего не меняет (маршрут, который я получаю, все еще остается «поймать все»).
Создание собственного роутера.Я пробовал различные конфигурации, но, похоже, требуется много созданий классов и конкретных созданий классов (в моем случае AnnotationDirectoryLoader).Это кажется слишком трудным для того, к чему я привык в Symfony, и оно не переносимо, если я решу изменить формат маршрутизации (например, на YAML).
Есть ли это быстро и легко?способ сделать это?