Catastrophe : la une annonce que la fête est annulée ! Léo est encore passé par là, et il a suffi d'une ligne pour changer un titre après coup. Un article publié ne devrait plus bouger, et son texte n'a pas à être touché hors de la classe.
Votre mission
- Rendez toutes les propriétés d'
Articleen lecture seule avecreadonly, puis supprimez la ligne de Léo, qui fait maintenant planter la page. - Rendez le texte privé :
private readonly string $texte. - Ajoutez à
Articleune méthode publiquechapo(): string, qui renvoie le chapô : les 80 premiers caractères suivis de « … » pour un texte long, le texte entier sinon. - Dans
afficherArticle(), utilisez$article->chapo().
Rappel
public, private : la visibilité dit qui a le droit de toucher à une propriété ou d'appeler une méthode. readonly interdit de changer une valeur après la construction. Une méthode est une fonction rangée dans la classe ; elle y accède à l'objet par $this. Voilà l'idée de l'encapsulation : la classe garde ses données, et offre des méthodes pour s'en servir.