Chapitre 3 du parcours Apprendre PHP 8
Trop de require
4 exercices · 500 XP · environ 1 h 30
require_once__DIR__Organisation du codeDébogageMessage d'erreurOrdre de chargementAutoloadspl_autoload_register()Fonction anonymeEspace de nomsnamespaceuse
Les exercices du chapitre
-
Un fichier par classe
Exercice 1 · 100 XP · 5 objectifs vérifiés par des tests
public/index.php fait maintenant plus de 150 lignes, et Madame Lou s'y perd. Quand elle cherche la classe Annonce, elle fait défiler la page entière. Dans un projet PHP, chaque classe a son fichier, rangé dans src/.
require_once__DIR__Organisation du code
-
Class not found
Exercice 2 · 150 XP · 4 objectifs vérifiés par des tests
Gaston voulait aider. Il a écrit une classe Bulletin pour sa météo, et il en a profité pour « ranger » les require_once par ordre d'importance. Résultat : la gazette affiche une erreur à la place de la une, et Madame Lou n'y comprend rien.
DébogageMessage d'erreurOrdre de chargement
-
Mon premier autoloader
Exercice 3 · 100 XP · 4 objectifs vérifiés par des tests
Six require_once, dans un ordre à respecter, et un oubli suffit à tout casser : Gaston en sait quelque chose. Or tous les fichiers suivent la même règle, la classe Article dans src/Article.php. Une règle, ça s'apprend à PHP.
Autoloadspl_autoload_register()Fonction anonyme
-
Les espaces de noms
Exercice 4 · 150 XP · 5 objectifs vérifiés par des tests
Le neveu d'Odette veut ajouter au site un petit module trouvé sur Internet. Problème : il contient lui aussi une classe Article. Deux classes du même nom, et PHP refuse de choisir. Les vrais projets rangent leurs classes sous un espace de noms, comme un nom de famille.
Espace de nomsnamespaceuse