Objectifs de la séance ¶
- Création d'une extension
Twig
Consignes ¶
Ce sujet comporte des questions complémentaires du TP « Symfony
6 « avancé » ». Les questions seront logiquement traitées dans le même dépôt Git que le sujet principal.
Amélioration de l'interface et de l'expérience utilisateur ¶
En plus de celles déjà apportées dans le sujet de TP, de nouvelles améliorations de l'interface utilisateurs peuvent être imaginées.
Création d'une extension Twig
pour l'affichage des dates
¶
Dans votre interface, les dates de création des annonces sont affichées dans un format date classique (voire en anglais), ce qui ne facilite pas la perception de l'ancienneté de l'annonce. Vous allez écrire une extension Twig
pour afficher les dates de manière plus intelligible. Le résultat attendu sera validé par des tests fournis, vous serez donc confronté au développement guidé par les tests (« Test driven development » en anglais). Puisque la problématique de base repose sur les dates, vous allez utiliser le nouveau composant « Clock
» de Symfony
.
- Lisez la documentation de
Symfony
sur les extensionsTwig
- Créez une extension
Twig
nommée «DateFormatterExtension
» en utilisant le «MakerBundle
» deSymfony
InformationPour découvrir ce que vous pouvez générer, lancez la commande suivante :
php bin/console make:
- L'extension
Twig
proposera une fonction et un filtre nommés «date_formatter
» qui prendront en paramètre une date et retourneront une chaîne de caractères dont la valeur vous sera donnée par le jeu de tests fourni - Lisez la documentation du composant «
Clock
» deSymfony
- Demandez le service
clock
dans le constructeur du «Runtime
» de votre extensionTwig
- Faites en sorte que votre extension
Twig
passe les testsPHPUnit
fournis :