编程语言
首页 > 编程语言> > php-从Symfony中的路由条件表达式访问全局参数

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