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
- Déclarez une classe
Auteurdont le constructeur reçoitstring $nometstring $role, en lecture seule, et une méthodesignature(): stringqui renvoie « Gaston, garde champêtre ». - 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 »).
- La propriété
auteurd'Articledevient unAuteur. Donnez à chaque article le sien. L'article sur le chat du maire, signé jusqu'ici « la rédaction », est désormais de Gaston. - Dans
afficherArticle(), signez chaque article avecParsuivi 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().