2013-03-16 2 views
0

Я пытаюсь настроить простой прослушиватель событий для выполнения некоторого кода в начале и перед каждым запросом. Я просто пытаюсь ответить на простое сообщение, чтобы проверить, что все работает.Простой случай Symfony2, казалось бы, настроенный, но не стреляющий

Если я допустил ошибку (например, опечатку) или неправильно настроил (например, за последние 30 минут), он возвращает различные сообщения об ошибках. Но я думаю, что у меня есть настройка, поскольку сообщения об ошибках исчезли.

Это мой код:

Я добавил это к моему /app/config.yml файл

services: 
    kernel.listener.request_listener: 
     class: Acme\Bundle\NewBundle\EventListener\RequestListener 
     tags: 
      - { name: kernel.event_listener, event: kernel.exception, method: onKernelRequest } 

И это код в соответствующем файле

namespace Acme\Bundle\NewBundle\EventListener; 

use Symfony\Component\HttpKernel\Event\GetResponseEvent; 
use Symfony\Component\HttpFoundation\Response; 

class RequestListener 
{ 
    public function onKernelRequest(GetResponseEvent $event) 
    { 
     $response = new Response(); 
     $response->setContent("hello"); 

     $event->setResponse($response);  

    } 

} 

ответ

2

I что вы попали в неправильное событие kernel.exception, которое вызывается/отправляется только при возникновении исключения.

Я считаю, что вы должны были зацепил kernel.request событие,

services: 
    kernel.listener.request_listener: 
     class: Acme\Bundle\NewBundle\EventListener\RequestListener 
     tags: 
      - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest } 

kernel.request называется/рассылаются по каждому запросу, и перед началом обработки запроса.

http://symfony.com/doc/2.0/book/internals.html#handling-requests

Прежде чем делать что-нибудь еще, то kernel.request событие уведомляется - если один из слушателей возвращает ответ, он переходит к шагу 8 непосредственно;

+0

Perfect. Понял. Я вернусь, когда это позволит мне принять ответ (7 минут). благодаря – user2143356

Смежные вопросы