MVC es un patrón de arquitectura de software que consiste en separar en 3 capas el desarrollo de cualquier aplicación: Modelo, Vista y Controlador.
El uso del patrón MVC facilita el mantenimiento de nuestro código haciendolo mas escalable y sostenible en el tiempo. La gran mayoría de frameworks PHP trabajan bajo esta filosofía.
En este tutorial explicaré de forma breve como implementar el patrón MVC con PHP nativo y MySQL.
Antes de empezar definimos conceptos
Modelo
Capa que contiene la lógica del negocio y nos permitirá manipular la información almacenada en la base de datos.
Vista
Capa relacionada con el aspecto visual de nuestra aplicación.
Controlador
Capa que recibe y procesa las solicitudes del usuario para comportarse como engranaje entre el Modelo y la Vista.
Estructura de nuestro MVC
Nuestro pequeño framework MVC tendrá la siguiente estructura de carpetas.
La base de datos para este ejemplo será la misma que usamos para crear un CRUD básico con PHP y MySQL.
El punto de inicio de nuestro pequeño framework MVC será el archivo index.php.
1 2 3 4 |
<?php require_once("config/db.php"); require_once("controllers/users_controller.php"); ?> |
Como pueden observar solo contiene dos líneas, la primera llama a la conexion con la base de datos y la siguiente carga el controlador.
El archivo «config/db.php» contiene la sentencia necesarias para conectar con la base de datos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php /** * Conexion a bbdd usando mysqli */ class Connect { public static function connection(){ $cnx = new mysqli("localhost", "root", "", "demo_crud"); return $cnx; } } ?> |
No olvides siempre comentar tu código.
En la siguiente entrada veremos como implementar nuestro Modelo para obtener información desde la base de datos. Revisa las siguientes entradas para continuar con el tutorial:
- MVC Básico con PHP y MySQL – Modelo
- MVC Básico con PHP y MySQL – Vista
- MVC Básico con PHP y MySQL – Controlador
Recuerda que puedes descargar el código completo de este ejemplo desde mi cuenta de Github.
No olvides dejar tus comentarios.
Saludos.