我尝试注入(inject)模板服务,这就是我得到的。
<service id="myproject_notification.service.mail" class="%myproject_notification.service.mail.class%">
<argument type="service" id="mailer" />
<argument type="service" id="templating" />
</service>
如果我从依赖项中评论或删除模板服务,一切都会正常运行。我看到了有关此问题的旧问题,但似乎我是目前唯一遇到此问题的人。我做错了什么吗?
Composer.json
"symfony/symfony": "~2.4",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~2.3",
"sensio/framework-extra-bundle": "~3.0",
"sensio/generator-bundle": "~2.3",
"incenteev/composer-parameter-handler": "~2.0",
Composer.lock
"name": "symfony/symfony",
"version": "v2.5.0",
...
"name": "twig/twig",
"version": "v1.15.1",
最佳答案
您应该始终尽量避免将容器直接注入(inject)您的服务。
我认为解决“循环引用”问题以及可能的性能问题的最佳解决方案是使用“Lazy Services” » 从 Symfony 2.3 开始可用的功能。
只需在服务容器配置中将您的依赖项标记为 lazy
并安装 ProxyManager Bridge(在上面的 Lazy Services 文档中查找详细信息)。
希望对您有所帮助,干杯。
关于symfony - 检测到服务 "security.context"的循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24139115/