La base de KumbiaPHP es el MVC y POO

La base de KumbiaPHP es el MVC (Modelo, vista, controlador) y POO (programación orientada a objetos), un tradicional patrón de diseño que funciona en tres capas:

Modelos: Representan la información sobre la cual la aplicación opera, su lógica de negocio.

Vistas: Visualizan el modelo usando páginas Web e interactuando con los usuarios (en principio) de éstas, una vista puede estar representada por cualquier formato salida, nos referimos a un xml, pdf, json, svg, png, etc. todo esto son vistas.

Controladores: Responden a acciones de usuario e invocan cambios en las vistas o en los modelos según sea necesario.

En KumbiaPHP los controladores están separados en partes, llamadas front controller y en un conjunto de acciones. Cada acción sabe cómo reaccionar ante un determinado tipo de petición.

Las vistas están separadas en templates, views y partials.

El modelo ofrece una capa de abstracción de la base de datos, además da funcionalidad agregada a datos de sesión y validación de integridad relacional. Este modelo ayuda a separar el trabajo en lógica de negocios (Modelos) y la presentación (Vistas).

Por ejemplo, si usted tiene una aplicación que corra tanto en equipos de escritorio y en dispositivos móviles entonces podría crear dos vistas diferentes compartiendo las mismas acciones en el controlador y la lógica del modelo. El controlador ayuda a ocultar los detalles de protocolo utilizados en la petición (HTTP, modo consola, etc.) para el modelo y la vista.

Finalmente, el modelo abstrae la lógica de datos, que hace a los modelos independientes de las vistas. La implementación de este modelo es muy liviana mediante pequeñas convenciones se puede lograr mucho poder y funcionalidad.

Caso práctico

Para entender mejor, veamos un ejemplo de cómo una arquitectura MVC trabaja para añadir al carrito. Primero, el usuario interactúa con la interfaz seleccionando un producto y presionando un botón, esto probablemente valida un formulario y envía una petición al servidor.

1. El Front Controller recibe la notificación de una acción de usuario, y luego de ejecutar algunas tareas (enrutamiento, seguridad, etc.), entiende que debe ejecutar la acción de agregar en el controlador.

2. La acción de agregar accede al modelo y actualiza el objeto del carrito en la sesión de usuario.

3. Si la modificación es almacenada correctamente, la acción prepara el contenido que será devuelto en la respuesta – confirmación de la adición y una lista completa de los productos que están actualmente en el carrito. La vista ensambla la respuesta de la acción en el cuerpo de la aplicación para producir la página del carrito de compras.

4. Finalmente es transferida al servidor Web que la envía al usuario, quien puede leerla e interactuará con ella de nuevo.

Leave a Reply

Your email address will not be published. Required fields are marked *