Votre autoloader du chapitre précédent suit une règle simple : le préfixe Gazette\ correspond au dossier src/. Cette règle est si répandue qu'elle porte un nom, PSR-4, et Composer sait l'appliquer. Il suffit de la lui déclarer.
Votre mission
- Dans
composer.json, ajoutez une sectionautoload, au même niveau querequire(pas à l'intérieur), qui déclare, en PSR-4, le préfixeGazette\vers le dossiersrc/. - Dans la console, lancez
composer dump-autoload: Composer relitcomposer.jsonet régénèrevendor/autoload.php. - Lancez les tests. Ils chargent
Gazette\Articlesans passer par votre autoloader, avec celui de Composer seulement.
public/index.php garde son autoloader pour l'instant : on le remplacera à l'exercice suivant.
Rappel
PSR-4 est une recommandation commune aux projets PHP : un préfixe d'espace de noms correspond à un dossier, et le reste du nom de la classe au chemin du fichier. Gazette\Meteo\Bulletin se trouve dans src/Meteo/Bulletin.php. Composer ne relit pas composer.json à chaque requête : après un changement de l'autoload, on relance composer dump-autoload.