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