symfony/路由-导入yml资源两次

symfony/路由-导入yml资源两次,symfony,routing,Symfony,Routing,我正在尝试为所有路由启用可选的区域设置占位符,而不复制所有内容。我的路线如下所示: site: prefix: / resource: "routes-site.yml" site_i18n: prefix: /{_locale} resource: "routes-site.yml" defaults: {_locale: pl} requirements: _locale: 'en' 但我只让站点工作。为什么不能多次导入同一

我正在尝试为所有路由启用可选的区域设置占位符,而不复制所有内容。我的路线如下所示:

site:
    prefix: /
    resource: "routes-site.yml"

site_i18n:
    prefix: /{_locale}
    resource: "routes-site.yml"
    defaults: {_locale: pl}
    requirements:
        _locale: 'en'
但我只让站点工作。为什么不能多次导入同一资源?
它是Symfony 2.2

,因为路由具有相同的路由名称,后面的导入将覆盖第一个路由的路由。
看看:。它甚至允许您对整个路径进行本地化,但在这种情况下,您只需要本地化前缀。

因为路由具有相同的路由名称,所以后面的导入会覆盖第一个路由。
看看:。它甚至允许您对整个路径进行本地化,但在这种情况下,您只需要本地化前缀。

为此添加单独的包对我来说太昂贵了。我正在寻找内置解决方案。你说的昂贵是什么意思?再加载一个(编写良好的)包对性能的影响最小(几乎没有)。实际上,这取决于您在加载路由时使用捆绑包,然后缓存路由。实际上,它只添加了自定义路由加载。任何额外的代码都需要花费时间(例如,在生成URL时)。但在这种情况下,也许没有更好的解决方案。然后我将查看源代码。您现在可以将
name\u prefix:en\
添加到第二个导入中,它将正常工作。但这仍然会创建两组路由,因此在应用程序内部链接变得更加困难。为此添加单独的捆绑包对我来说太昂贵了。我正在寻找内置解决方案。你说的昂贵是什么意思?再加载一个(编写良好的)包对性能的影响最小(几乎没有)。实际上,这取决于您在加载路由时使用捆绑包,然后缓存路由。实际上,它只添加了自定义路由加载。任何额外的代码都需要花费时间(例如,在生成URL时)。但在这种情况下,也许没有更好的解决方案。然后我将查看源代码。您现在可以将
name\u prefix:en\
添加到第二个导入中,它将正常工作。但这仍然会创建两组路由,因此在应用程序内部链接变得更加困难。