symfony 如何处理多个包路由?

How symfony handles multiple bundles routing?

我正在尝试了解 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 路由配置吗?我的疑问是关于路由流程。路由器是否遍历每个捆绑包配置?

路由和其他配置参数一样,按照它们在您的文件中出现的顺序进行解析。

这意味着如果定义了两条相同的路由(键,更笼统地说),则第一个定义(并因此解析)的路由将被采用。

如果您担心性能,我可以告诉您这不是您应该担心的事情(它们已缓存)