Chapitre 3 du parcours Apprendre PHP 8

Trop de require

4 exercices · 500 XP · environ 1 h 30

Ce chapitre fait travailler : require_once__DIR__Organisation du codeDébogageMessage d'erreurOrdre de chargementAutoloadspl_autoload_register()Fonction anonymeEspace de nomsnamespaceuse

Les exercices du chapitre

  1. 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

  2. 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

  3. 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

  4. 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