标签:symfony symfony-2-4 symfony-routing php
我正在尝试从路由条件(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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。