【发布时间】:2014-12-23 18:27:51
【问题描述】:
我正在尝试从路由条件 (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 - 函数“参数”在位置 24 附近不存在。
有没有办法从路由条件表达式中访问参数?
【问题讨论】:
-
我认为
parameter表达式语言功能只有在Container生命周期表达式中才有。您可能必须自己注册该功能。 -
@YannEugoné 我希望有一种方法可以不用自己注册
parameter函数。恕我直言,访问全局参数应被视为标准行为... -
我完全同意你的看法。但是 ExpressionLanguage 不是一个旧组件(> = 2.4),因此您可能需要一些未实现的功能......在快速查看文档后(再次)我在任何示例中都没有看到您的用例。我看到
parameter函数的 Symfony 的唯一部分是 DIC,所以...
标签: php symfony symfony-2.4 symfony-routing