我可以在xml文件中使用表达式语言(EL),只需指出要表达的参数的类型。
但是,我无法在yml文件中指明此类型。根据这篇文章:
https://knpuniversity.com/blog/service-expressions
理论上我应该能够轻松访问表达式语言,如下所示:
arguments:
- "@=service('doctrine').getRepository('AppBundle:User')"
我认为应该在读取,验证配置并将其传递到最终对象之前执行EL。但事实并非如此:表达式显然永远不会被EL在yml文件中评估,就像上面那样。
如何在yml文件中使用EL?可能是我自己编写了配置验证(参见:bundle的语义配置),我应该添加一个期望,不仅仅是一个标量值,还有一个表达式?
从此配置中转储获取的值时,我看到带有文字值的字符串,上面的例子是:@=service('doctrine').getRepository('AppBundle:User')
答案 0 :(得分:0)
此功能适用于yml
个文件,并且应该可以立即使用。
请参阅:http://symfony.com/doc/current/service_container/expression_language.html
也许检查你的Symfony版本......