0Pricing
PHP Academy · Lección

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 automatically

Mapa 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\UserController

Comprobació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

  1. Declaración y uso de espacios de nombres
  2. Espacios de nombres anidados y alias
  3. Estándar de carga automática PSR-4
  4. Registro de cargadores automáticos
← Volver a PHP Academy