【问题标题】:Symfony2 service arguments (as an expression language string)Symfony2 服务参数(作为表达式语言字符串)
【发布时间】: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


【解决方案1】:

尝试完全清除app/cache dir

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2013-03-20
    • 1970-01-01
    • 2013-04-22
    • 2014-03-13
    • 2011-05-06
    相关资源
    最近更新 更多