Laravel, parte 3: Modelo Vista Controlador

Antes de retornar nuestra aplicación Laravel, para seguir aprendiendo sobre cómo trabaja este framework voy a detenerme en una cosa que a mi entender es preciso dejar claro para todas aquellas personas que nunca han trabajado con el Modelo Vista Controlador. Si en cambio ya tenés conocimientos de MVC, entonces podés ignorar esta publicación.

No voy a escribir código en este capítulo, pero si voy a resumir de qué se trata el Modelo Vista Controlador, ya que Laravel trabaja de esta forma y es necesario que lo entendamos todo antes de continuar.

El Modelo Vista Controlador es un patrón de diseño de aplicaciones que se ha puesto muy de moda en los últimos años. Tiene varias razones, pero la más importante es separar el código en tres partes bien definidas: el modelo, la vista y el controlador.

Modelos

Los modelos son clases encargadas de trabajar con las consultas de la base de datos, es decir que por cada tabla tendremos una clase, cada registro será un objeto y las consultas se llamarán a través de métodos de esas clases. A su vez Laravel trabaja con Eloquent que es un ORM que nos facilitará el trabajo de las consultas a través de métodos ya establecidos, estos nos permitirán realizar las tareas más comunes y que más se repiten en una base de datos como insertar, recuperar registros por su id, modificar esos registros, listarlos, eliminarlos, etc.

Vistas

Es el producto final de una petición, el código html que se le devuelve al cliente, aquí no debería haber ninguna lógica, sin embargo puede contener impresiones de variables, condicionales o bucles; pero no más que eso. La vista tiene un fin y es ése, entregar el código html de respuesta.

Controladores

Los controladores son clases con métodos, también llamados acciones, estas acciones se comunicarán con los modelos para hacer consultas a la base de datos, y con las vistas para devolver una respuesta al cliente.

Por ejemplo podríamos tener un controlador para trabajar con los productos de una tienda, entonces tendríamos acciones para insertar, modificar, eliminar y listar esos productos. Podría haber una acción que mostrará por pantalla los últimos 10 registros insertados. Entonces esa acción guardará en una variable con esos últimos productos gracias a un método de un modelo que representa la tabla de los productos y se la pasará a una vista, que estará lista para mostrar esos registros con código html.

De esta manera nosotros tendremos separado nuestro código en tres partes: consultas a la base de datos, presentación y lógica de la petición.

Bueno, en las próximas publicaciones crearemos una aplicación para ir conociendo el funcionamiento de los modelos, vistas y controladores.

Saludos!

Anterior: Laravel, parte 2: Ruteo

Siguiente: Laravel, parte 4: Migraciones