2012-04-24 2 views
1

Я хочу ввести форму и сформировать сервис Handler в свой контроллер.Symfony2: Расширение сферы действия

<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> 

Область Расширяя Injection распознано: определение «acme_core.image_controller» ссылки службы «acme_core.image.form.handler», которая относится к более узкой. Как правило, безопаснее переносить «acme_core.image_controller» в область «запрос» или альтернативно полагаться на шаблон поставщика, вставляя сам контейнер и запрашивая услугу «acme_core.image.form.handler» каждый раз, когда это необходимо. Однако в редких особых случаях, которые могут не потребоваться, вы можете установить ссылку на strict = false, чтобы избавиться от этой ошибки.

Что это означает бетон? Что нужно добавить tom my image_controller.xml?

С наилучшими пожеланиями

ответ

3

Вы должны добавить scope="request" в теге службы

например
<service id="acme_core.image_controller" class="Acme\CoreBundle\Controller\ImageController" scope="request"> 

Для получения дополнительной информации ознакомьтесь this запись поваренной книги.

Смежные вопросы