Sur la une, on ne lit que le début de chaque article. Les villageois veulent la suite ! Chaque article aura sa page, à l'adresse /articles/ suivie de son slug.
Votre mission
- Déclarez la route
GET /articles/{slug}. Les accolades marquent la partie variable de l'adresse : son gestionnaire reçoit un tableau$parametres, et$parametres['slug']vaut'la-fete-de-la-citrouille'pour/articles/la-fete-de-la-citrouille. Retrouvez l'article avecRedaction::article($parametres['slug']). - La page de l'article :
<main class="lecture">avec l'article complet, que renvoie$article->versHtmlComplet()(le neveu l'a ajoutée àArticle), et un lien<a class="retour">← Retour à la une</a>vers la une. Le tout est mis en page parPage::rendre(), et l'onglet affiche « titre de l'article — La Gazette de Saint-Glinglin ». - Dans
src/Contenu/Article.php, sur la une, le titre de chaque article devient un lien vers sa page.
Construisez chaque adresse avec Url::vers(), jamais en dur.
Rappel
{slug} est un paramètre de route : il accepte n'importe quel texte sans /, que FastRoute range dans $route[2], le tableau passé au gestionnaire. Une méthode de la classe peut lire ses propriétés privées : versHtmlComplet() a le droit d'utiliser $this->texte, le code extérieur non.