Índice

Una historia de escuchas Administrador de eventos

El administrador de eventos (Event Dispatcher en inglés) Event Dispatcher es uno de los componentes más sencillos del framework. Sin embargo se utiliza mucho dentro de este y es indispensable, un verdadero punto fuerte de Symfony.

El administrador de eventos implementa el patrón de diseño Observer. La función de este design pattern es autorizar a diversas partes para que observen el desarrollo del script, a través de puntos de anclaje. En función de los elementos observados en un punto de anclaje dado, estas diversas partes podrán decidir desencadenar ciertas acciones, incluso interactuar con el código observado y todo esto, gestionado por un sistema de eventos.

Saber utilizar el administrador de eventos correctamente, contribuye a mejorar mucho la calidad de su código, así como su mantenibilidad.

1. El Dispatchingdispatching

Por el momento, la descripción era bastante teórica. Ahora le proponemos descubrir este patrón de diseño con un ejemplo.

Imaginemos un blogger que desea incluir en la base de datos cada nuevo artículo enviado por uno de sus colaboradores, enviar un correo electrónico de agradecimiento al autor y hacer un post de un tweet.

El objetivo no es desarrollar el ejemplo completo. Vamos a presuponer que ya hay tres servicios configurados y que permiten realizar estas tareas: pdo, mailer y twitter.

A continuación se muestra a qué se podría parecer el controlador:

<?php   ...