【发布时间】:2014-01-28 16:25:24
【问题描述】:
正如 Symfony2 documentation 所描述的,可以将“表达式语言”字符串作为服务参数注入,但它显然不起作用,即使是简单的实现:
services:
my_service:
class: AAA\BBBBundle\ClassName
arguments: ["@=container.hasParameter('param_name') ? parameter('param_name') : 'default_value'"]
我明白了:
致命错误:未捕获的异常 'Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException' 带有消息“服务“my_service”依赖于不存在的服务“=container.hasparameter('some_param') ? parameter(' some_param') : 'default_value'"。'在 /[...]/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php 第 59 行
我错过了什么吗?
【问题讨论】:
-
你使用 Symfony 2.4 吗?
-
你运行的是什么版本的 Symfony?
-
我目前在 Symfony 2.3.9 版本下,确实它的 composer.json 文件还没有包含Expression language bundle,所以问题肯定来自这里,谢谢你的气味!
标签: symfony dependency-injection