我可以在xml文件中使用表达式语言(EL),只需指明表达式参数的类型。
但是,我不能在yml文件中指明这种类型。根据这篇文章:
https://knpuniversity.com/blog/service-expressions
从理论上讲,我应该能够轻松地访问表达式语言,如下所示:
arguments:
- "@=service('doctrine').getRepository('AppBundle:User')"我认为应该在读取、验证配置并将其传递到最终对象之前执行EL。但事实并非如此:在yml文件中,该表达式显然从未被EL计算过,就像上面的那个一样。
在yml文件中使用EL应该怎么做?会不会是我自己写的配置验证(参见:捆绑包的语义配置),我是否应该添加一个期望,不仅是标量值,还是一个表达式?
在转储此配置中获得的值时,我看到了包含文字值的字符串,上面的示例是:@=service('doctrine').getRepository('AppBundle:User')
发布于 2016-11-09 03:00:59
此功能可用于yml文件,并且应该开箱即用。
请参阅:http://symfony.com/doc/current/service_container/expression_language.html
也许可以看看你的Symfony版本..。
https://stackoverflow.com/questions/40494187
复制相似问题