【发布时间】:2012-02-17 17:42:50
【问题描述】:
当我尝试将@request 注入到我的任何服务中时,我会收到以下异常:
ScopeWideningInjectionException:检测到范围扩大注入: 定义“service.navigation”引用了服务“请求” 属于较窄的范围。一般来说,两者都比较安全 将“service.navigation”移动到“请求”范围或依赖 通过注入容器本身并请求提供者模式 每次需要时,服务都会“请求”。在罕见的特殊情况下 但是这可能不是必需的,那么您可以将引用设置为 strict=false 以消除此错误。
最好的方法是什么?我应该尝试设置这个strict=false 以及如何设置,还是不应该注入请求服务,而是每次调用我需要的函数时通过我的控制器将其传递给服务?
其他可能性是注入内核并从那里获取它,但在我的服务中我只使用@router 和@request,因此注入整个内核是不合理的。
【问题讨论】:
标签: symfony service dependency-injection