1.1 – Desarrollo Web con PHP: de cero a aplicaciones avanzadas con MySQL, JavaScript, APIs y Laravel 🎧

🎧 Audio de la lección

En el siguiente audio generado por IA podrás escuchar un texto de introducción al curso y resumen del contexto por el que vamos a empezar nuestro curso.

El desarrollo de aplicaciones web es una de las áreas más importantes dentro del mundo de la programación. Gran parte de los servicios que utilizamos a diario, como tiendas online, plataformas educativas, paneles de administración, sistemas de reservas, redes sociales o aplicaciones internas de empresa, funcionan sobre tecnologías web conectadas a bases de datos y servidores.

Este módilo está diseñado para aprender a crear aplicaciones web con PHP desde cero, empezando por los fundamentos del lenguaje y avanzando progresivamente hacia el desarrollo de proyectos completos, organizados, seguros y preparados para un entorno profesional.

A lo largo del viaje, el alumno aprenderá no solo a escribir código PHP, sino también a comprender cómo funciona una aplicación web real: cómo se reciben datos desde formularios, cómo se validan, cómo se almacenan en una base de datos, cómo se organiza el código mediante programación orientada a objetos, cómo se estructura una aplicación usando patrones como MVC y cómo se añaden funcionalidades modernas mediante JavaScript, AJAX, APIs y frameworks como Laravel.

El objetivo principal es que el alumno pase de crear pequeños scripts a desarrollar aplicaciones completas, con usuarios, sesiones, permisos, paneles de administración, conexión a bases de datos, seguridad, despliegue en servidor y buenas prácticas de mantenimiento.

El temario tendrá un enfoque eminentemente práctico. Cada bloque estará orientado a construir conocimiento paso a paso, combinando teoría, ejemplos guiados y proyectos reales. La idea no es memorizar instrucciones, sino entender cómo se diseña, se programa y se despliega una aplicación web desde el inicio hasta su puesta en producción.

Al finalizar el módulo, el alumno tendrá una visión completa del desarrollo web con PHP y será capaz de crear sus propias aplicaciones, mantener proyectos existentes y continuar aprendiendo tecnologías más avanzadas dentro del ecosistema PHP moderno.

Programa del módulo

Bloque 1 — Fundamentos de programación y entorno

  1. Introducción al desarrollo web con PHP
  2. Instalación del entorno de trabajo
  3. Servidores web: Apache, Nginx y PHP integrado
  4. Primeros scripts en PHP
  5. Sintaxis básica de PHP
  6. Variables, tipos de datos y operadores
  7. Estructuras de control
  8. Bucles y control de flujo
  9. Funciones en PHP
  10. Organización básica de archivos en un proyecto PHP

Bloque 2 — PHP aplicado a la web

  1. Funcionamiento de HTTP
  2. Formularios HTML y procesamiento con PHP
  3. Métodos GET y POST
  4. Validación de datos del usuario
  5. Sanitización y filtrado de entradas
  6. Manejo de errores y mensajes al usuario
  7. Redirecciones y cabeceras HTTP
  8. Inclusión de archivos y plantillas básicas
  9. Gestión de rutas simples
  10. Buenas prácticas iniciales en aplicaciones PHP

Bloque 3 — Programación orientada a objetos en PHP

  1. Introducción a la programación orientada a objetos
  2. Clases y objetos
  3. Propiedades y métodos
  4. Constructores y destructores
  5. Encapsulación
  6. Modificadores de acceso
  7. Métodos estáticos
  8. Constantes de clase
  9. Herencia
  10. Sobrescritura de métodos
  11. Interfaces
  12. Clases abstractas
  13. Polimorfismo
  14. Traits
  15. Namespaces
  16. Autoloading de clases
  17. Organización de clases en un proyecto
  18. Buenas prácticas de POO en PHP

Bloque 4 — Bases de datos con MySQL/MariaDB

  1. Introducción a bases de datos relacionales
  2. Diseño básico de bases de datos
  3. Entidades, atributos y relaciones
  4. Claves primarias y claves foráneas
  5. Normalización básica
  6. SQL esencial para aplicaciones web
  7. Consultas SELECT
  8. Inserción de datos
  9. Actualización de registros
  10. Eliminación de registros
  11. Conexión de PHP con MySQL
  12. MySQLi frente a PDO
  13. Consultas preparadas
  14. Control de errores en operaciones de base de datos

Bloque 5 — JavaScript, AJAX y PHP

  1. Introducción a JavaScript para aplicaciones PHP
  2. Manipulación básica del DOM
  3. Eventos en JavaScript
  4. Validación básica de formularios en cliente
  5. Fetch API
  6. Envío de datos asíncronos
  7. Respuestas JSON desde PHP
  8. Formularios sin recargar la página
  9. Buscadores dinámicos
  10. Validación combinada cliente-servidor
  11. Tablas dinámicas
  12. Gestión de errores en AJAX
  13. Integración PHP, JavaScript y base de datos

Bloque 6 — Proyecto CRUD básico

  1. Estructura de un CRUD en PHP
  2. Listado de registros
  3. Creación de registros
  4. Edición de registros
  5. Eliminación de registros
  6. Validaciones en un CRUD
  7. Mensajes de confirmación y error
  8. Paginación de resultados
  9. Búsqueda y filtrado
  10. Organización del código del CRUD con clases
  11. Mejora del CRUD con JavaScript y Fetch

Bloque 7 — Arquitectura de aplicaciones PHP

  1. Separación de responsabilidades
  2. Patrón MVC
  3. Controladores
  4. Modelos
  5. Vistas
  6. Sistema básico de rutas
  7. Controlador frontal
  8. Plantillas reutilizables
  9. Configuración centralizada
  10. Organización profesional de carpetas

Bloque 8 — Sesiones, usuarios y autenticación

  1. Cookies en PHP
  2. Sesiones en PHP
  3. Registro de usuarios
  4. Inicio de sesión
  5. Cierre de sesión
  6. Protección de páginas privadas
  7. Roles y permisos
  8. Hash seguro de contraseñas
  9. Recordar usuario de forma segura
  10. Recuperación de contraseña

Bloque 9 — Seguridad en aplicaciones PHP

  1. Principales riesgos de seguridad web
  2. Inyección SQL
  3. Cross-Site Scripting
  4. Cross-Site Request Forgery
  5. Gestión segura de sesiones
  6. Validación avanzada de entradas
  7. Subida segura de archivos
  8. Control de acceso
  9. Protección de credenciales y configuración
  10. Buenas prácticas OWASP aplicadas a PHP

Bloque 10 — Trabajo con archivos y recursos externos

  1. Subida de archivos
  2. Gestión de imágenes
  3. Lectura y escritura de archivos
  4. Exportación de datos a CSV
  5. Importación de datos desde CSV
  6. Generación de documentos PDF
  7. Envío de correos desde PHP
  8. Consumo de APIs externas
  9. Procesamiento de JSON
  10. Integración con servicios de terceros

Bloque 11 — Composer y ecosistema PHP moderno

  1. Introducción a Composer
  2. Gestión de dependencias
  3. Autoload con Composer
  4. Uso de librerías externas
  5. Variables de entorno
  6. Estructura moderna de proyectos PHP
  7. Estándares PSR
  8. Herramientas de calidad de código
  9. Logging en aplicaciones PHP
  10. Configuración por entornos

Bloque 12 — APIs REST con PHP

  1. Introducción a las APIs REST
  2. Diseño de endpoints
  3. Métodos HTTP en APIs
  4. Respuestas JSON estructuradas
  5. Códigos de estado HTTP
  6. Autenticación en APIs
  7. Tokens y JWT
  8. Validación de peticiones API
  9. Documentación de APIs
  10. Consumo de la API desde frontend

Bloque 13 — Frameworks PHP

  1. Introducción a los frameworks PHP
  2. Instalación de Laravel
  3. Estructura de un proyecto Laravel
  4. Rutas en Laravel
  5. Controladores en Laravel
  6. Vistas con Blade
  7. Modelos y Eloquent ORM
  8. Migraciones y seeders
  9. Validaciones en Laravel
  10. Middleware y autenticación

Bloque 14 — Laravel avanzado

  1. Relaciones entre modelos
  2. Formularios avanzados
  3. Subida de archivos en Laravel
  4. Autorización con policies y gates
  5. Jobs y colas
  6. Eventos y listeners
  7. Notificaciones
  8. APIs REST con Laravel
  9. Testing en Laravel
  10. Optimización de aplicaciones Laravel

Bloque 15 — Testing, calidad y mantenimiento

  1. Introducción al testing
  2. Tests unitarios
  3. Tests de integración
  4. PHPUnit
  5. Pruebas de controladores
  6. Pruebas de base de datos
  7. Análisis estático de código
  8. Refactorización
  9. Documentación técnica
  10. Mantenimiento de aplicaciones PHP

Bloque 16 — Despliegue y administración

  1. Preparación de una aplicación para producción
  2. Configuración de Apache/Nginx
  3. Despliegue en servidor Linux
  4. Permisos y estructura en producción
  5. Gestión de variables de entorno
  6. Certificados HTTPS
  7. Copias de seguridad
  8. Monitorización básica
  9. Logs y diagnóstico de errores
  10. Actualización segura de aplicaciones

Bloque 17 — Docker, CI/CD y entorno profesional

  1. Introducción a Docker para PHP
  2. Contenedores para Apache/PHP
  3. Contenedores para MySQL/MariaDB
  4. Docker Compose para proyectos PHP
  5. Entornos de desarrollo reproducibles
  6. Git y flujo de trabajo profesional
  7. GitHub/GitLab para proyectos PHP
  8. Integración continua
  9. Despliegue continuo
  10. Automatización de pruebas y análisis

Bloque 18 — Proyecto final de máster

  1. Análisis de requisitos
  2. Diseño de base de datos
  3. Diseño de arquitectura
  4. Desarrollo del backend
  5. Desarrollo del frontend
  6. Sistema de usuarios y permisos
  7. Panel de administración
  8. API REST del proyecto
  9. Seguridad y pruebas
  10. Despliegue final y documentación del proyecto