Índice

Los eventos del Kernel

1. Los eventos

El Kernel (nodo) de Symfony despacha varios eventos a lo largo del tratamiento de una consulta:

  • kernel.request: kernel.requesteste evento se despacha al inicio del tratamiento de la consulta. Se puede utilizar para devolver una respuesta directamente sin pasar por la fase de enrutamiento, por el controlador, etc.

  • kernel.controller: kernel.controllereste evento tiene lugar justo antes de la ejecución del controlador.

  • kernel.controller_arguments: kernel.controller_argumentseste evento también tiene lugar antes de la ejecución del controlador. Gracias a él, puede modificar los argumentos que se pasan al controlador.

  • kernel.view: kernel.viewel evento kernel.view se desencadena si el controlador no devuelve una instancia como respuesta. Ejemplo de utilización: Symfony utiliza este evento de manera interna, durante la utilización de la anotación @Plantilla() del bundle SensioFrameworkExtraBundle.

  • kernel.response: kernel.responseeste evento permite modificar el objeto respuesta que se envía al cliente. Ejemplo de utilización: en el entorno de desarrollo, Symfony utiliza este evento para agregar la barra de depuración en la parte inferior de la página.

  • kernel.finish_request: kernel.finish_requestcuando las subconsultas modifican el estado de su aplicación, este evento se puede utilizar para reinicializar ciertos valores. En la práctica, este es un evento para ser utilizado de manera interna por el framework, en lugar de por los usuarios finales. ...