Aşağıdaki event listener örneği ile controller response mesajını değiştirebilirsiniz. Bu örnekte, varsayılan 200 Hello inanzzz mesajını 400 Bye inanzzz olarak değiştireceğiz.


PlayerController


namespace Application\FrontendBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

/**
* @Route("player", service="application_frontend.controller.player")
*/
class PlayerController extends Controller
{
/**
* @Method({"GET"})
* @Route("")
*
* @return Response
*/
public function indexAction()
{
return new Response('Hello inanzzz', 200);
}
}

PlayerListener


namespace Application\FrontendBundle\Listener;

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

class PlayerListener
{
public function onKernelController(FilterControllerEvent $event)
{
$message = 'Bye inanzzz';

$event->setController(
function() use ($message) {
return new Response($message, 400);
}
);
}
}

Listeners.yml


services:
application_frontend.listener.player:
class: Application\FrontendBundle\Listener\PlayerListener
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }