감사드립니다. 대신, 이벤트 리스너를 만들고 kernel.request
event을 듣고 싶습니다. 해당 의사 페이지에서 :
이 이벤트의 목표는 즉시 응답 개체를 반환하거나 이벤트 후 Controller를 호출 할 수 있도록 변수를 설정하는 것입니다. 모든 리스너는 이벤트의 setResponse() 메서드를 통해 Response 객체를 반환 할 수 있습니다. 이 경우 다른 모든 리스너는 호출되지 않습니다. 이 이벤트를 수신 할 수있는 서비스를 설정하기 위해
, 당신은 이런 식으로 뭔가를 선언 할 것 : 그냥 정상적인 서비스 선언입니다
# services.yml
foo_request_listener:
class: FooVendor\BarBundle\EventListener\RequestEventListener
arguments: [] # whatever dependencies your listener needs
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
첫 번째 부분 (tags
전). kernel.event_listener
태그는 kernel.request
이벤트가 발생할 때 메서드를 통해 GetResponseEvent
개체를 받아야한다고 말하면서 (메서드 이름은 임의로, 서비스 클래스가 구현하는지 확인하십시오.) 컨트롤러 이전의 모든 요청에서 발생합니다. 호출됩니다.
내가 그렇게 선언해야합니까? 서비스 : kernel_listener : 클래스 : Bernardao \ ExtraBundle \ 리스너 인수 : 태그 : - {이름 : kernel.event_listener 이벤트 : kernel.request, 방법 onKernelRequest} - 내 청취자
Bernardao
방금 Symfony \ Component \ HttpKernel \ Event 네임 스페이스의 GetResponseEvent를 찾았습니다. 아프다. 인스턴트 메신저 stackoverflow에 새로운, 그래서 잘 모르겠어요 어떻게 대답 :-p – Bernardao
@ 베르나르도, 참조 요청 커널 요청 청취자 확인 [SessionListener] (https://github.com/symfony/symfony/blob/master/src/Symfony/ 번들/FrameworkBundle/EventListener/SessionListener.php) 클래스. 서비스는 [여기] (https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml#L37)에 정의되어 있습니다. –