CRUD usando PHP + PDO + POO + MVC

En esta ocasión vamos a compartir un fragmento de código, en donde estaremos realizando un pequeño ejemplo para realizar un CRUD con el patrón de diseño Modelo, Vista y Controlador, mejor conocido como “MVC”, haciendo uso de la extensión PDO y del paradigma de programación orientada a objetos “POO”.

En este ejemplo estaremos haciendo referencia a datos de nuestros clientes, los cual se estarán
visualizando y a su vez haremos una filtro de búsqueda  usando el plugins jQuery  “DataTables”

Para poder usar este script debemos crear una base de datos su estructura es la siguiente:

Lo siguiente que haremos será crear la estructura del proyecto MVC, para esto, creamos una carpeta que se llamara “mvc“, seguidamente iremos añadiendo carpetas según el orden que nos indica el patrón MVC, debes tener una estructura como la siguiente:

Continuaremos con el desarrollo del MODELO, MVC nos define que en el modelo es donde se coloca la lógica del negocio, además es aquí donde se efectúa a interacción con la base de datos. Nuestro modelo constara de dos clases:

database.php:  Encargada de la conexión con la base de datos.

cliente.php : Es en esta clase donde debemos colocar todas las funciones que requieran extraer información de la base de datos, procesarlas y devolverlas al usuario en el VIEW (VISTA)

Ahora procederemos a crear las VISTAS del usuario (VIEW)  es la encargada de mostrar la información al usuario, con de forma gráfica y legible, pueden ser HTML puro como nuestro caso, estas vistas deben contener código php mínimo para su mejor mantenimiento, además estas vistas al ser HTML, también hacen uso de hojas de estilo CSS y JavaScript.

Nuestro directorio View contiene un directorio llamado cliente, el cual a su vez contendrá dos (2) archivos:

cliente.php: Sera el encargado de mostrar al usuario los datos.

cliente-editar: En este archivo se realiza una validación para verificar si el cliente está registrado o no, dependiendo de la necesidad del usuario, este re-direccionará al formulario solicitado para realizar registro o edición del mismo.

También en el directorio root de la vista hemos añadido en archivo llamado header.php, este se encarga de cargar el contenido css y javascript, para nuestro ejemplo hemos hecho uso del plugins jQuery datatables. Dichos arhivos los llamaremos desde este archivo header.php, su estructura es la siguiente:

Para finalizar nuestro MVC, ahora necesitamos implementar el CONTROLADOR del proyecto, el controlador es el intermediario entre la vista y el modelo, se encarga de controlar las interacciones del usuario en la vista, pide los datos al modelo y los devuelve de nuevo a la vista para que esta
los muestre al usuario. Es decir las llamadas a clases y métodos, y los datos recibidos de formularios, Nuestro directorio Controller contendrán un archivo llamado cliente.controller.php, su codigo es el siguiente

Para terminar la aplicación haremos una entrada única para la aplicación, esta entrada será nuestro index.php, ubicada en la raíz del proyecto, a través de él mostraremos la salida de las vistas al usuario y también a través de él, enviaremos las distintas acciones que el usuario envié al controlador.

Y con esto ya tenemos nuestra mini aplicación MVC  funcionando para empezar a trabajar mejor con el.

DESCARGAR ARCHIVOS

  • El Principe Marchoso Ali Baba

    Gracias de nuevo por las fuentes, me ha ayudado en algunas dudas que no sabía resolver. Me parece un ejemplo genial.
    Un saludo.

  • Francisco

    Hay alguna forma de que el campo buscar sea un imput type=»number»?

  • DjCrazy

    Gracias por compartir el código.

    Si dispones de tiempo, puedes ayudarme a aclarar la siguiente duda por favor:

    Tengo una tabla HTML en la vista con múltiples registros, como sería el código en el controlador y el modelo para insertar en la base de datos la cantidad de registros que vengan de esa vista (tabla HTML) ya sea 1 o miles?

  • Alejandro Cabrales

    Que tal

    Gracias primeramente por la aportación, pero los enlaces que tienen esta dirección:

    http://facturacionweb.site/blog/descargas-de-archivos/?id_descarga=xxx

    ninguno está funcionando, solo muestra una página que dice Descargar Archivos pero no hace nada más, nos podrían apoyar reactivando los links.

    De antemano gracias, saludos.

    • Administrador

      Gracias por reportar. intenta en el siguiente linK: http://facturacionweb.site/blog/download/609/

    • Facturacion Web

      Gracias por reportar, ya hemos actualizado el enlace. Puedes intentar nuevamente con el boton de descarga