Guía Completa para Crear una Aplicación CRUD con Laravel y PHP

Guía Completa para Crear una Aplicación CRUD con Laravel y PHP

Tutorial paso a paso para crear una aplicación CRUD con Laravel y PHP

El desarrollo de aplicaciones web es una habilidad fundamental para cualquier programador en la actualidad. En este tutorial, te guiaré paso a paso para que puedas construir una aplicación CRUD (Crear, Leer, Actualizar y Eliminar) usando Laravel, uno de los frameworks PHP más populares y robustos.

Si eres principiante o tienes experiencia intermedia en PHP, este tutorial te ayudará a entender desde la instalación de Laravel hasta la implementación completa de los componentes fundamentales: migraciones, modelos, controladores, rutas y vistas con Blade. Además, te mostraré cómo validar formularios para asegurar la integridad de los datos.

Tabla de contenidos


Introducción a Laravel y Requisitos

Laravel es un framework PHP que sigue el patrón arquitectónico MVC (Modelo-Vista-Controlador) y facilita el desarrollo backend mediante herramientas modernas y eficientes.

Requisitos previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • PHP 8.0 o superior instalado
  • Composer instalado (gestor de dependencias para PHP)
  • Servidor web local (como XAMPP, WAMP, Laragon o Valet)
  • Editor de código (VS Code recomendado)

Instalación y Configuración de Laravel

1. Crear un nuevo proyecto Laravel

Abre tu terminal y ejecuta:

Este comando creará una carpeta llamada crud-app con un proyecto Laravel completamente configurado.

2. Ingresar al directorio del proyecto

3. Configurar la conexión a la base de datos

Laravel utiliza un archivo .env para gestionar variables de entorno.

Abre .env y modifica las siguientes líneas según tu configuración de base de datos:

Nota: Crea la base de datos crud_db en MySQL o en el sistema que uses antes de continuar.

4. Arrancar el servidor local de desarrollo

Ejecuta:

Esto levantará el servidor en http://localhost:8000.

Accede a esta URL en tu navegador para verificar que Laravel está funcionando.


Creación de Migraciones y Modelos

Laravel utiliza migraciones para administrar las tablas de la base de datos y modelos para interactuar con ellas.

Vamos a crear una simple aplicación para manejar tareas.

1. Crear la migración y el modelo

Ejecuta este comando para generar ambos:

Esto crea:

  • El modelo Task.php en app/Models
  • La migración para la tabla tasks en database/migrations

2. Definir los campos en la migración

Abre el archivo de migración creado, algo similar a:

database/migrations/2024_06_01_000000_create_tasks_table.php

Modifícalo así:

3. Ejecutar la migración

Esto crea la tabla tasks en la base de datos.

4. Configurar el modelo

Abre app/Models/Task.php y asegúrate de que permita la asignación masiva (mass assignment) para los campos que usarás:


Desarrollo de Controladores y Rutas

1. Crear un controlador para gestionar las tareas

El parámetro --resource crea un controlador con métodos predefinidos para CRUD.

2. Definir las rutas en routes/web.php

Abre este archivo y agrega:

Esto generará rutas para todas las operaciones CRUD.

3. Implementar métodos en el controlador

Abre app/Http/Controllers/TaskController.php y modifica para gestionar operaciones básicas:


Implementación de Vistas con Blade

Laravel usa el motor de plantillas Blade para separar la lógica de presentación.

Creamos las vistas dentro de resources/views/tasks.

1. Crear un layout base

Crea resources/views/layouts/app.blade.php:

2. Crear la vista de listado de tareas (index.blade.php)

resources/views/tasks/index.blade.php:

3. Crear la vista para crear (create.blade.php)

resources/views/tasks/create.blade.php:

4. Crear la vista para editar (edit.blade.php)

resources/views/tasks/edit.blade.php:


Validación de Formularios en Laravel

Ya implementamos la validación básica en el controlador dentro de store y update.

Laravel proporciona un mensaje de error automático que podemos mostrar en las vistas con la directiva @error (como se hizo arriba).

Para mejorar la experiencia, siempre valida los datos entrantes para evitar errores y mantener la integridad.

Ejemplo de reglas:

Puedes agregar reglas más complejas según tus necesidades.


Conclusión y Buenas Prácticas

En este tutorial hemos creado una aplicación CRUD completa usando Laravel y PHP, ideal para principiantes e intermedios. Vimos cómo:

  • Instalar y configurar Laravel
  • Crear migraciones y modelos
  • Desarrollar controladores y configurar rutas
  • Implementar vistas con Blade
  • Validar los formularios para mayor seguridad

Buenas prácticas recomendadas

  • Utiliza migraciones para mantener un historial claro de cambios en la base de datos.
  • Siempre valida entradas del usuario para evitar inconsistencias.
  • Separa la lógica dentro de controladores para mantener el código limpio.
  • Usa plantillas Blade para mantener la presentación desacoplada del backend.
  • Implementa mensajes claros para el usuario tras acciones como crear, actualizar o eliminar.

¿Qué sigue?

Puedes continuar ampliando esta aplicación con:

  • Autenticación de usuarios usando Laravel Breeze o Jetstream
  • Paginación de resultados
  • Búsquedas y filtros
  • Uso de componentes Blade para reutilizar fragmentos comunes

¡Ahora es tu turno! Crea tu propia aplicación CRUD personalizada y experimenta con Laravel.

Si te ha gustado este tutorial, no olvides compartirlo y seguir aprendiendo sobre desarrollo backend Laravel y programación PHP para principiantes