Ejercicio de programación con PHP: Autoloading de Clases
Código
0h 30m
Prueba tus habilidades con un ejercicio que exige control de namespaces, directorios múltiples y manejo de excepciones para cargar clases dinámicamente.
Instrucciones:
Crea un archivo único en PHP que implemente un autoloading avanzado con spl_autoload_register()
. Debes considerar lo siguiente:
- Define al menos dos namespaces diferentes, cada uno con varias clases que simulen módulos distintos (por ejemplo, Controladores y Modelos). Utiliza rutas independientes para cada grupo de clases.
- Registra múltiples funciones de autocarga, cada una enfocada en un directorio y namespace. Controla que, si la ruta de una clase buscada no existe, se dispare una excepción.
- Incluye al menos una clase con métodos estáticos y otra con métodos de instancia. Prueba su funcionamiento llamando a métodos de las clases cargadas.
- Asegúrate de emplear buenas prácticas de nombres de archivos y directorios, reflejando correctamente los namespaces en las rutas.
- No utilices código preconstruido, el objetivo es que diseñes tus propias funciones y clases.
Para demostrar que tu solución funciona, instancia y llama a métodos de al menos dos clases distintas en tu script. Tu autocargador debe mostrar un mensaje de error claro en caso de que la clase solicitada no se ubique en su directorio correspondiente.
Todos los ejercicios de programación de PHP
Evalúa tus conocimientos con ejercicios de programación en PHP de tipo Test, Puzzle, Código y Proyecto con VSCode.
Patrones de diseño
Código
Reto clases y objetos
Código
Tipos de datos, variables y constantes
Código
Reto herencia
Proyecto
Reto archivos en formularios
Código
Reto polimorfismo
Proyecto
Reto arrays
Código
Reto formularios
Proyecto
Reto test con PHPUnit
Código
Reto conexión a bases de datos
Código
Reto transacciones
Código
Reto try catch excepciones
Código
Estructuras de control
Proyecto
Reto sentencias CRUD con PDO
Código
Reto try catch de PDOException
Código
Reto manejo de números
Código
Reto archivos temporales
Código
Calculadora en PHP
Proyecto
Reto sesiones
Código
Reto namespaces
Código
Reto traits
Código
Reto mensajes y redirección en formularios
Código
Reto cookies
Código
Reto fechas y tiempo
Código
Reto cifrado contraseñas
Código
Reto funciones
Código
Reto estructuras de control
Código
Operadores y expresiones
Código
Reto encapsulación avanzada
Código
Reto cadenas de texto
Código
Reto interfaces
Código
Reto CRUD en PHP
Proyecto
Reto clase Libro
Código
Tutorial para resolver este ejercicio de programación
PHP
Autoloading de Clases
Programación Orientada a Objetos