Estándar de carga automática PSR-4
Comprenda cómo PSR-4 asigna segmentos de espacios de nombres a rutas de directorios.
Estándar de carga automática PSR-4 es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.
¿Qué es la carga automática?
La carga automática significa que PHP carga automáticamente el archivo de una clase la primera vez que utiliza esa clase, sin necesidad de usar require manualmente.
Antes de la carga automática
Sin carga automática, todos los archivos comenzaban con docenas de llamadas a require_once, lo que resultaba frágil y difícil de mantener.
Regla PSR-4
PSR-4 asigna un prefijo de espacio de nombres a un directorio base. Dado el prefijo App\ → src/: App\Models\User se carga desde src/Models/User.php.
La fórmula de asignación
Elimine el prefijo, sustituya las barras inversas restantes por separadores de directorio y añada .php.
App\Services\Payment\Stripe → src/Services/Payment/Stripe.php
Sección autoload de composer.json
Defina las asignaciones PSR-4 en composer.json. Ejecute composer dump-autoload después de realizar cambios.
// composer.json
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}Varios prefijos de espacios de nombres
Un proyecto puede tener varias asignaciones PSR-4, lo que resulta útil para separar los espacios de nombres de las pruebas.
// composer.json
{
"autoload": { "psr-4": { "App\\": "src/" } },
"autoload-dev": { "psr-4": { "Tests\\": "tests/" } }
}El nombre de la clase coincide con el nombre del archivo
El nombre de la clase debe coincidir exactamente con el nombre del archivo (se distingue entre mayúsculas y minúsculas en Linux). class UserService debe encontrarse en UserService.php.
Una clase por archivo
PSR-4 requiere exactamente una clase, interfaz o trait por archivo. Varias definiciones interrumpen la carga automática.
PSR-4 frente a PSR-0
PSR-0 (obsoleto) utilizaba guiones bajos en los nombres de clase como separadores de directorios. PSR-4 es más claro y constituye el estándar actual.
El cargador automático generado
Después de ejecutar composer dump-autoload, Composer escribe vendor/autoload.php. Requiéralo una vez en el punto de entrada.
<?php
require __DIR__.'/vendor/autoload.php';
$user = new App\Models\User(); // autoloads automaticallyMapa de clases alternativo
Composer también genera un mapa de clases para los archivos que no siguen PSR-4. Resulta útil para código heredado.
Estructura práctica de directorios
src/
Models/User.php → App\Models\User
Http/Controllers/
UserController.php → App\Http\Controllers\UserControllerComprobación rápida
¿Dónde encuentra PSR-4 App\Services\Mailer si el prefijo App\ se asigna a src/?
Preguntas frecuentes
¿La lección «Estándar de carga automática PSR-4» es gratis?
Sí — el texto completo de «Estándar de carga automática PSR-4» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Estándar de carga automática PSR-4»?
Comprenda cómo PSR-4 asigna segmentos de espacios de nombres a rutas de directorios. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar PHP Academy?
No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Estándar de carga automática PSR-4»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de PHP Academy?
Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Declaración y uso de espacios de nombres
- Espacios de nombres anidados y alias
- Estándar de carga automática PSR-4
- Registro de cargadores automáticos