2017-08-24 60 views
0

我想了解symfony的路由系統。symfony如何處理多個捆綁包路由?

在應用程序/配置/ 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

Symfony的構建(和緩存)所有路線的一個列表。捆綁信息不會保留。 bin/console debug:路由器可以提供幫助。我可能會補充一點,除非您計劃在其他應用程序中單獨打包和重新使用捆綁軟件包,否則多捆綁軟件沒有多少理由。 – Cerad

回答

2

與其他配置參數一樣,路由將按照它們在文件中出現的順序進行解析。

這意味着如果定義了兩個相同的路由(鍵,更一般而言),則第一個被定義(以及如此解析)的路由是被採用的路由。

如果你對錶演的擔心,我可以告訴大家,這不是你應該擔心(他們會被緩存)