MVC en Symfony 3

Symfony está basado en la estructura Modelo Vista Controlador (MVC) al igual que muchos otros frameworks y se ha convertido en muchos aspectos en un estandard a la hora de programar no solo web, también para móviles y para aplicaciones de escritorio entre otros.

Es por ello que es muy importante entender como funciona el MVC en Symfony, lo cual nos ayudará a entender como funciona en general.

MVC en Symfony 3

En la siguiente imagen podemos observar que tenemos tres partes:

  • Peticiones: desde donde se solicitan urls e información al servidor desde el cliente
  • Kernel de Symfony
  • Respuestas

Funcionamiento

Las peticiones son recogidas por el Front Controller localizado en web/app.php o en web/app_dev.php, donde dependiendo si nos encontramos en un entorno de producción o desarrollo, va a enrutar la petición hacia uno u otro.

Una vez que el front controller recibe la petición el kernel de Symfony analiza la petición y a través del sistema de rutas devuelve cual es el controlador que debe de usar para dar respuesta a la petición.

De este modo el kernel sabe cuales son las acciones que debe de ejecutar asociadas a la ruta.

Traduciendo al modelo MVC

Para verlo más claro podemos traducir el modelo de la siguiente forma:

  • Las respuestas son las vistas
  • Las acciones serian el modelo
  • El kernel, el front controller… serían la parte del controlador