Todo sobre MVC: Parte III

Seguimos añadiendo mas información acerca del término MVC para tener un artículo con bases solidas y sin ningún tipo de fuga en cuanto al tema.

Modelos

Es la capa donde se atarea con los datos, por ello, sujetará dispositivos para entrar a la información y además, para renovar su estado. Los datos los tendrán corrientemente en una base de datos, por lo que en los modelos dispondrán de todas las funciones que entrarán a las tablas y harán los convenientes selects, updates, inserts, etc.

Sin embargo, cabe añadir que cuando se trabaja con MCV lo usual igualmente es manejar otras librerías como PDO o algún ORM como Doctrine, que os dejen ocuparse con abstracción de bases de datos y persistencia en objetos. Por eso, en vez de utilizar de forma directa sentencias SQL, que suelen depender del motor de base de datos con el que se esté laborando, se maneja un dialecto de entrada a datos basado en clases y objetos.

Vistas

Las vistas, como su os hace aludir, poseen el código de vuestra aplicación que va a producir la visualización de las interfaces de usuario, es decir, el código que os dejará renderizar los estados de vuestra aplicación en HTML. En las vistas solo tendrán los códigos HTML y PHP que os deje enseñar la salida.

En la vista ordinariamente se trabaja con los datos, no obstante, no se hace un acceso directo a éstos. Las vistas solicitarán los datos a los pilotos y ellas se generarán la salida, tal como vuestra aplicación lo pida.

Controladores

Posee el código requerido para revelar  las acciones que se piden en la aplicación, como concebir un elemento, hacer una compra, una búsqueda de información, etc.

En contexto es una capa que funciona de enlace entre las vistas y los modelos, reconociendo a los dispositivos que consigan solicitar para realizar las necesidades de vuestra aplicación. No obstante, su responsabilidad no es controlar de forma directa los datos, ni enseñar ningún tipo de salida, sino utilizar de enlace entre los modelos y las vistas para añadir las distintas solicitudes del desarrollo.

Arquitectura de aplicaciones MVC

En la siguiente imagen hallarán un diagrama que os servirá mucho para comprender un poco mejor cómo ayudan las diferentes capas que se acomodan a la arquitectura de desarrollo de software en el modelo MVC.

2758

Se ha mostrado con flechas los modos de colaboración entre los diferentes elementos que crearían una aplicación MVC, junto con el usuario. Como se logra observar, los controladores, con su lógica de negocio, realizan de puente entre los modelos y las vistas. Pero asimismo, en ciertos casos los modelos pueden enviar datos a las vistas.

  1. La persona hace una solicitud a vuestro sitio web. Usualmente estará liberada por acceder a una página de vuestro sitio. Esa solicitud le llega al controlador.
  2. El controlador notifica tanto con modelos como con vistas. A los modelos les solicita datos o les envía emplear actualizaciones de los datos. A las vistas les solicita la salida conveniente, una vez sea hechas las operaciones oportunas según la lógica del ejercicio.
  3. Para originar la salida, en momentos las vistas logran solicitar más información a los modelos. En otras situaciones, el controlador será el responsable de solicitar todos los datos a los modelos y de remitirlos a las vistas, siendo puente entre unos y otros. Sería normal tanto una cosa como la otra, todo pende de vuestra ejecución.
  4. Las vistas envían al usuario la salida. Si bien en situaciones esa salida puede ir de vuelta al controlador y sería éste el que logra el envío al cliente.