0Pricing
PHP Academy · Leçon

Norme de chargement automatique PSR-4

Comprendre comment PSR-4 associe les segments d’espace de noms aux chemins de répertoires.

Norme de chargement automatique PSR-4 est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Qu’est-ce que le chargement automatique ?

Le chargement automatique signifie que PHP charge automatiquement le fichier d’une classe la première fois que vous utilisez cette classe : aucun require manuel n’est nécessaire.

Avant le chargement automatique

Sans chargement automatique, chaque fichier commençait par des dizaines d’appels à require_once : une pratique fragile et difficile à maintenir.

Règle PSR-4

PSR-4 associe un préfixe d’espace de noms à un répertoire de base. Avec le préfixe App\ → src/ : App\Models\User est chargé depuis src/Models/User.php.

La formule de correspondance

Supprimez le préfixe, remplacez les barres obliques inverses restantes par des séparateurs de répertoires, puis ajoutez .php.

App\Services\Payment\Stripe → src/Services/Payment/Stripe.php

Section autoload de composer.json

Définissez les correspondances PSR-4 dans composer.json. Exécutez composer dump-autoload après toute modification.

// composer.json
{
  "autoload": {
    "psr-4": {
      "App\\": "src/"
    }
  }
}

Plusieurs préfixes d’espaces de noms

Un projet peut comporter plusieurs correspondances PSR-4, ce qui est utile pour séparer les espaces de noms des tests.

// composer.json
{
  "autoload":     { "psr-4": { "App\\": "src/" } },
  "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }
}

Nom de classe = nom de fichier

Le nom de la classe doit correspondre exactement au nom du fichier (la casse est respectée sous Linux). class UserService doit se trouver dans UserService.php.

Une classe par fichier

PSR-4 exige exactement une classe, une interface ou un trait par fichier. Plusieurs définitions empêchent le chargement automatique.

PSR-4 et PSR-0

PSR-0 (obsolète) utilisait des traits de soulignement dans les noms de classes comme séparateurs de répertoires. PSR-4 est plus propre et constitue la norme actuelle.

Le chargeur automatique généré

Après composer dump-autoload, Composer écrit vendor/autoload.php. Incluez-le une seule fois au point d’entrée.

<?php
require __DIR__.'/vendor/autoload.php';

$user = new App\Models\User(); // autoloads automatically

Solution de repli par table de classes

Composer génère également une table de classes pour les fichiers qui ne suivent pas PSR-4. C’est utile pour le code ancien.

Organisation pratique des répertoires

src/
  Models/User.php        → App\Models\User
  Http/Controllers/
    UserController.php   → App\Http\Controllers\UserController

Vérification rapide

Où PSR-4 trouve-t-il App\Services\Mailer si le préfixe App\ est associé à src/ ?

Questions Fréquemment Posées

La leçon « Norme de chargement automatique PSR-4 » est-elle gratuite ?

Oui — le texte complet de « Norme de chargement automatique PSR-4 » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Norme de chargement automatique PSR-4 » ?

Comprendre comment PSR-4 associe les segments d’espace de noms aux chemins de répertoires. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Norme de chargement automatique PSR-4 » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Déclarer et utiliser des espaces de noms
  2. Espaces de noms imbriqués et alias
  3. Norme de chargement automatique PSR-4
  4. Enregistrer des chargeurs automatiques
← Retour à PHP Academy