Как Symfony обрабатывает маршрутизацию нескольких пакетов?
Я пытаюсь понять систему маршрутизации Symfony.
В app / config / routing.yml у меня есть две конфигурации маршрутизации из двух разных пакетов
firstbundle:
resource: "@FirstBundle/Resources/config/routing.yml"
prefix: /api
secondbundle:
resource: "@SecondBundle/Resources/config/routing.yml"
prefix: /api
`
Так что, если я делаю запрос, как,
https://example.com/app.php/api/images/ (определено в конфигурации первого пакета)
или же
https://example.com/app.php/api/views/ (определено в конфигурации второго пакета)
Как маршрутизатор решает, какой пакет использовать?
Предположим, я собираюсь получить доступ к api./views, в этом случае он также проверит конфигурацию маршрутизации FirstBundle? Мое сомнение касается потока маршрутизации. Маршрутизатор проходит через все конфигурации пакета?
1 ответ
Маршруты, как и другие параметры конфигурации, анализируются в том же порядке, в котором они отображаются в вашем файле.
Это означает, что если определены два идентичных маршрута (ключи, говоря больше в общем), первый определенный (и, таким образом, проанализированный) будет выбран.
Если вы беспокоитесь о выступлениях, я могу сказать, что это не то, о чем вам следует беспокоиться (они кэшируются)