La rédaction déménage

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

Notions abordées : Méthode statiqueSéparation des responsabilitésuse

Le neveu d'Odette a fait le ménage pendant la nuit. Les publications vivent maintenant dans src/Contenu/Redaction.php, et chaque article a reçu un slug, son nom dans les adresses : la-fete-de-la-citrouille. L'en-tête du journal, lui, est passé dans src/Web/Page.php. Il vous laisse un mot : « index.php n'a plus besoin de tout savoir. Il demande les publications à la rédaction, et la mise en page à Page. »

Depuis son passage, l'aperçu affiche une erreur : index.php fabrique encore ses articles à l'ancienne, sans slug, et le nouveau constructeur d'Article le réclame. Rien à réparer : tout ce code est à remplacer.

Votre mission

  1. Dans public/index.php, supprimez les données (le village, le bulletin, les auteurs, le tableau des publications) et tout le HTML de la page.
  2. Construisez la une dans une variable $html : un <main class="articles"> avec le versHtml() de chaque publication de Redaction::publications().
  3. Affichez-la mise en page par Page::rendre(), avec le titre 'La Gazette de Saint-Glinglin' : echo Page::rendre('La Gazette de Saint-Glinglin', $html . '</main>');.

Une fois le ménage fait, la une revient telle qu'elle était. Seul index.php a maigri : une quinzaine de lignes suffisent.

Les trois classes du neveu

Elles sont en lecture seule. Ouvrez-les pour voir ce qu'elles font :

Inutile de comprendre chaque ligne aujourd'hui. Vous y croiserez deux choses nouvelles :

Rappel

Une méthode statique (public static function) s'appelle sur la classe, sans créer d'objet : Redaction::publications(), avec :: au lieu de ->. Ranger chaque responsabilité dans sa classe rend index.php lisible : il ne fait plus qu'assembler. C'est ce qui va permettre au prochain exercice de servir plusieurs pages.