I want to inject a form and formHandler service into my controller.
<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>
Scope Widening Injection detected: The definition “acme_core.image_controller” references the service “acme_core.image.form.handler” which belongs to a narrower scope. Generally, it is safer to either move “acme_core.image_controller” to scope “request” or alternatively rely on the provider pattern by injecting the container itself, and requesting the service “acme_core.image.form.handler” each time it is needed. In rare, special cases however that might not be necessary, then you can set the reference to strict=false to get rid of this error.
What does this mean concret?
What should I add tom my image_controller.xml?
Best Regards
You have to add
scope="request"in your service tag e.gFor more info check this cookbook entry.