1

我想将一个表单和 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”移动到“request”范围或通过注入容器本身并在每次需要时请求服务“acme_core.image.form.handler”来依赖提供者模式会更安全。然而,在极少数特殊情况下,这可能不是必需的,然后您可以将引用设置为 strict=false 以消除此错误。

这是什么意思?我应该在 image_controller.xml 中添加什么?

最好的祝福

4

1 回答 1

3

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

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

有关更多信息,请查看食谱条目。

于 2012-04-24T17:47:03.417 回答