我有一个FormHandler这需要三个dependencie-注射:表格,请求和ArticleManagerSymfony2的:异常绑定请求,以形成服务
我配置他们这样services.xml中:
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<!-- ArticleManager - Persistence layer -->
<service id="loc_article.manager" class="LOC\ArticleBundle\Entity\ArticleManager">
<argument type="service" id="doctrine.orm.entity_manager" />
<argument>LOC\ArticleBundle\Entity\Article</argument>
</service>
<!-- ArticleForm - Business layer -->
<service id="loc_article.form" factory-method="createNamed" factory-service="form.factory" class="Symfony\Component\Form\Form">
</service>
<service id="loc_article.form.type" class="LOC\ArticleBundle\Form\Type\ArticleFormType">
<argument>LOC\ArticleBundle\Entity\Article</argument>
</service>
<service id="loc_article.form.handler" class="LOC\ArticleBundle\Form\Handler\ArticleFormHandler">
<argument type="service" id="loc_article.form" />
<argument type="service" id="request" />
<argument type="service" id="loc_article.manager" />
</service>
</services>
当运行app_dev.php,我得到以下异常:
ScopeWideningInjectionExceptio n:检测到范围扩展注入:定义“loc_article.form.handler”引用属于较窄范围的服务“请求”。通常,将“loc_article.form.handler”移动到作用域“请求”更安全,或者通过注入容器本身来依赖提供者模式,并在每次需要时请求服务“请求”。然而,在罕见的特殊情况下,可能不需要,那么您可以将引用设置为strict = false来消除此错误。
我该怎么办?
嗨, 这工作: <服务ID = “loc_article.form.handler” 级= “LOC \ ArticleBundle \表格\处理器\ ArticleFormHandler”范围=“请求”> 是否有关于我的services.yml(坏风格等?)的附加事项? Regards – bodokaiser 2012-03-24 17:52:14