Symfony2:范围扩大异常

时间:2012-04-24 17:16:43

标签: service symfony scope

我想将一个表单和formHandler服务注入我的控制器。

<services>
    <service id="acme_core.image_controller" class="Acme\CoreBundle\Controller\ImageController">
        <argument type="service" id="session" />
        <argument type="service" id="acme_core.image.form" />
        <argument type="service" id="acme_core.image.form.handler" />
        <argument type="service" id="acme_core.image_manager.default" />
    </service>
</services>  
  

检测到范围扩展注入:定义“acme_core.image_controller”引用属于较窄范围的服务“acme_core.image.form.handler”。通常,将“acme_core.image_controller”移动到范围“请求”或者通过注入容器本身依赖于提供者模式,并在每次需要时请求服务“acme_core.image.form.handler”更安全。在极少数情况下,特殊情况可能没有必要,那么您可以将引用设置为strict = false以消除此错误。

这意味着什么是混凝土? 我应该添加什么来管理我的image_controller.xml?

最好的问候

1 个答案:

答案 0 :(得分:3)

您必须在服务标签中添加scope="request",例如

<service id="acme_core.image_controller" class="Acme\CoreBundle\Controller\ImageController" scope="request">

有关详细信息,请查看this食谱条目。