php-从Symfony中的路由条件表达式访问全局参数
作者:互联网
我正在尝试从路由条件(documentation)中的表达式访问应用程序范围内的symfony参数(在app / config / parameters.yml中定义).
我很幸运地将参数插入百分号内并通过函数“参数”(如DI here所述),但均无济于事.
这是参数函数的示例:
example_route:
path: /example/{_locale}
condition: "request.getLocale() in parameter('locales_array')"
defaults:
_controller: "AcmeExampleBundle:Example:index"
_locale: %locales_default%
但是我得到:
SyntaxError – The function “parameter” does not exist around position 24.
有没有办法从路由条件表达式访问参数?
解决方法:
我在https://github.com/symfony/symfony/pull/12869处打开了2.7版本的PR,直到完成并交付为止,如果您的项目中需要使用UrlMatcher,则您必须使用自己的扩展版本,在该项目中,您需要添加容器函数提供程序,并在“变量”参数中注入一个容器ExpressionLanguage#evaluate的名称,以便您可以访问参数和服务.
您可以查看PR以获得如何执行的提示,如果稍后需要,我将对其进行详细介绍.
标签:symfony,symfony-2-4,symfony-routing,php 来源: https://codeday.me/bug/20191029/1956739.html