Un fichier par classe

Exercice 1 sur 4 du chapitre 3 · 100 XP · 5 objectifs vérifiés par des tests

Notions abordées : require_once__DIR__Organisation du code

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

Votre mission

  1. Déplacez chaque déclaration dans son propre fichier de src/, qui porte son nom : src/Publication.php, src/Rubrique.php, src/Auteur.php, src/Article.php, src/Annonce.php et src/Sommaire.php. Les fichiers vous attendent, vides.
  2. Dans public/index.php, chargez-les avec require_once, en partant de __DIR__, sur le modèle require_once __DIR__ . '/../src/Article.php';.
  3. Attention à l'ordre : une classe ne peut pas implémenter une interface qui n'est pas encore chargée.

La une ne change pas, mais le code devient lisible.

Rappel

require_once exécute un autre fichier PHP, comme s'il était collé à cet endroit, et une seule fois même s'il est demandé deux fois. __DIR__ vaut le dossier du fichier en cours : un chemin construit à partir de lui marche d'où qu'on lance le script.