如何使用服务容器参数在你的路线吗

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,不再维护。

这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。

如何使用服务容器参数在你的路线吗

有时候你可能会觉得它有用让部分全球航线可配置的。例如,如果您构建一个国际化的网站,你可能会从一个或两个地方开始。肯定你会添加一个要求你的路线,以防止一个用户匹配一个地区以外的地区支持。

可以硬编码你的_locale要求所有的路线,但是一个更好的解决方案是使用一个可配置的服务容器参数正确的在你的路由配置:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6
# app / config / routing.yml联系人:路径:/ {_locale} /接触默认值:{_controller:AppBundle:主要:接触}要求:_locale:“% app.locales %”

你现在可以控制和设置app.locales参数在你的容器:

  • YAML
  • XML
  • PHP
1 2 3
# app / config / config.yml参数:app.locales:在|西文

你也可以用一个参数来定义你的路由路径(或路径的一部分):

  • YAML
  • XML
  • PHP
1 2 3 4
# app / config / routing.ymlsome_route:路径:/ % app.route_prefix % /接触默认值:{_controller:AppBundle:主要:接触}

请注意

就像在正常服务容器配置文件,如果你真的需要一个%在你的路线,你可以逃避百分号增加一倍,如/ - 50% %,这将解决/分数- 50%

然而,随着%字符中包含任何URL自动编码,本例的生成的URL/获得50 % 25(% 25编码的结果吗%字符)。

另请参阅

在依赖注入参数处理类使用依赖注入的类内参数

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。