Как 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? Мое сомнение касается потока маршрутизации. Маршрутизатор проходит через все конфигурации пакета?

0

Решение

Маршруты, как и другие параметры конфигурации, анализируются в том же порядке, в котором они отображаются в вашем файле.

Это означает, что если определены два идентичных маршрута (ключи, говоря более в общем), то первый (определенный и проанализированный) — это тот, который выбран.

Если вы беспокоитесь о выступлениях, я могу сказать, что это не то, о чем вам следует беспокоиться (они кэшируются)

2

Другие решения

Других решений пока нет …