Yaml和表达语言

时间:2016-11-08 18:40:28

标签: php symfony

我可以在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')

1 个答案:

答案 0 :(得分:0)

此功能适用于yml个文件,并且应该可以立即使用。

请参阅:http://symfony.com/doc/current/service_container/expression_language.html

也许检查你的Symfony版本......