Le photographe du village, c'est-à-dire le neveu d'Odette, a pris la citrouille de l'an dernier sous la lune. Madame Lou veut la voir en une. Mais tous les articles n'auront pas de photo : il faut une propriété qui puisse ne rien contenir.
Votre mission
- Ajoutez à
Articleune propriétéphotoen lecture seule, de type?string, qui vautnullpar défaut. C'est le nom d'un fichier du dossierpublic/images/. - Donnez à l'article de la fête la photo
'citrouille.svg'. - Dans
afficherArticle(), sous le titre, quand l'article a une photo, affichez<img class="photo" src="images/citrouille.svg" alt="…">, avec le titre de l'article comme texte alternatif.
Rappel
null veut dire « pas de valeur ». Un type précédé d'un ?, comme ?string, accepte une chaîne ou null. Avant de se servir d'une valeur nullable, on vérifie qu'elle est là : if ($article->photo !== null). Le texte alternatif alt décrit l'image à qui ne la voit pas.
Pour remplacer null par une valeur de secours, l'opérateur ?? évite le if : $article->photo ?? 'pas-de-photo.svg' vaut la photo si elle existe, et 'pas-de-photo.svg' sinon. Il sert aussi pour une clé de tableau qui peut manquer : $tableau['cle'] ?? ''.