1
我试图通过删除对服务容器的引用尽可能加速我的堆栈。在这种情况下,我只需要请求:删除Symfony2范围扩大通知
email_error_message:
class: Core\MyBundle\Services\Email\ErrorMessage
arguments: [ @request, %params ]
但是,这引发了范围扩大问题。我现在不担心重构代码,我只是想通过添加strict = true来摆脱警告。但我似乎无法得到正确的YAML语法:
email_error_message:
class: Core\MyBundle\Services\Email\ErrorMessage
arguments:
- { type: service, id: request, strict: false }
- %params%
虽然这不工作。有任何想法吗?
编辑 我知道我可以改变这个服务的范围来请求,但在这种情况下,这不是一个选项。
谢谢,我没有读过,但不能不幸地做到这一点;它会影响到很多服务范围内我不想改变的服务(我会更新我的问题以反映这一点) – Mathew 2012-04-19 15:43:45
@MatW好的 - 我已经更新了我的答案。 – richsage 2012-04-19 16:05:15
请注意'@ request ='语法在Twig的'globals'配置中不起作用(它引发'ServiceNotFoundException')。只有这样,我发现将更广泛的服务注入到Twig的全局变量中:$ this-> controller-> get('twig') - > addGlobal('A',$ this-> controller-> get('B')) ;'在请求监听器中处理! – Wirone 2014-10-10 23:10:18