L3 Info : PHP et Applications Web
 
◃  Ch. 8 Gestion de projet Web  ▹
 

PHP Standard Recommandation PSR-4

  • PSR-0: Autoloading Standard (deprecated) définissait un standard pour l'autoloading des classes en PHP.

  • PSR-0 est remplacé par PSR-4 depuis 2014.

  • PSR-4 est une norme (ou standard) définie par le PHP-FIG (PHP Framework Interop Group) pour l’autoloading des classes en PHP.

  • Associe automatiquement les namespaces PHP aux chemins de fichiers

  • Simplifie le chargement des classes sans avoir à les inclure manuellement avec require ou include.

  • Principes de base de PSR-4

    • Le chargement automatique des classes se fait en fonction du nom de la classe et du namespace.
    • Un namespace correspond à un chemin de dossier.
    • Le nom de la classe correspond au nom du fichier.
  • Exemple : Si vous avez une classe App\Entity\EntiteLivre.php, PSR-4 permettra de la charger automatiquement depuis le fichier :

    src/App/Entity/EntiteLivre.php
  • Règles de PSR-4 :

    • Casse des caractères : les noms de classes et de dossiers doivent respecter la casse.
    • Correspondance 1:1 : un namespace => un dossier, un sous-namespace => un sous-dossier.
    • Fichiers de classe : chaque classe doit être dans son propre fichier ; le nom du fichier doit correspondre au nom de la classe (ex: EntiteLivre.php pour la classe EntiteLivre).
  • Tous les frameworks et bibliothèques PHP modernes (Symfony, Laravel, etc.) utilisent PSR-4.