Qui a écrit ça ?

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

Notions abordées : CompositionObjet dans un objetMéthode

Gaston a fini par accepter de signer l'article sur le chat du maire. Les lecteurs, eux, veulent savoir qui leur parle. Madame Lou souhaite que chaque article soit signé du nom et du rôle de son auteur : « Par Gaston, garde champêtre ».

Votre mission

  1. Déclarez une classe Auteur dont le constructeur reçoit string $nom et string $role, en lecture seule, et une méthode signature(): string qui renvoie « Gaston, garde champêtre ».
  2. Créez les trois auteurs une seule fois chacun, dans des variables : Madame Lou (« rédactrice en cheffe »), Gaston (« garde champêtre ») et Odette (« boulangère »).
  3. La propriété auteur d'Article devient un Auteur. Donnez à chaque article le sien. L'article sur le chat du maire, signé jusqu'ici « la rédaction », est désormais de Gaston.
  4. Dans afficherArticle(), signez chaque article avec Par suivi de la signature de son auteur : « Par Gaston, garde champêtre ». Tous les articles ont maintenant un auteur, donc le cas « Par la rédaction » disparaît.

Rappel

Une propriété peut contenir un autre objet : on parle de composition. L'article ne recopie pas le nom de Gaston, il désigne Gaston. Si Gaston change de rôle, ses deux articles suivent. Les flèches s'enchaînent : $article->auteur->signature().