Écrire des dizaines de require en haut d’un fichier pour s’assurer que chaque classe utilisée est bien chargée : voilà exactement ce que l’autochargement évite, en laissant PHP retrouver lui-même le bon fichier au moment où une classe est réellement sollicitée.
PSR-4 et Composer, le duo standard
Composer génère un autochargeur (vendor/autoload.php) conforme à la norme PSR-4, qui relie un espace de noms à une arborescence de dossiers. Un plugin WordPress orienté objet moderne déclare cette correspondance dans son fichier composer.json, plutôt que d’utiliser la fonction historique spl_autoload_register directement.
Exemple
{
"autoload": {
"psr-4": {
"MonPlugin\\": "src/"
}
}
}
Avec cette configuration, la classe MonPlugin\Reservation\Panier est automatiquement recherchée dans le fichier src/Reservation/Panier.php, sans qu’aucun require explicite ne soit nécessaire dans le code.
Bon à savoir
- Après avoir ajouté une nouvelle classe conforme à PSR-4, il n’est généralement pas nécessaire de régénérer l’autochargeur ; Composer résout le chemin dynamiquement selon la convention de nommage.
- La fonction native
spl_autoload_register()reste disponible pour écrire un autochargeur maison, utile pour un petit plugin sans dépendance à Composer. - Un espace de noms mal aligné avec l’arborescence des dossiers déclarée dans
composer.jsonprovoque une erreur « Class not found » à l’exécution, souvent déroutante pour un développeur débutant.