가능한 경우 서비스 컨테이너에 대한 참조를 제거하여 스택 속도를 높이려고합니다. 이 경우에만 요청이 필요합니다.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
@MatW OK - 내 대답을 업데이트했습니다. – richsage
'@ request ='구문은 Twig의'globals' 설정에서 작동하지 않습니다 ('ServiceNotFoundException'을 던집니다). Twig의 전역에 더 넓은 범위의 서비스를 주입하는 유일한 방법은'$ this-> controller-> get ('twig') -> addGlobal ('A', $ this-> controller-> get ('B')) ;'요청 리스너에서 처리되었습니다! – Wirone