Personnalisation des pages d’erreurs
Présentation
Chaque erreur détectée par Symfony entraîne ce qu’on appelle une Exception. L’exception est détectée et une page d’erreur affiche le message d’erreur généré.
Par exemple, si vous tentez d’exécuter une route qui n’existe pas, comme par exemple, la route /inconnu, Symfony affichera cette page d’erreur :
Cette page indique bien qu’une exception a été levée, mais le design n’est pas très accueillant. Il serait assez gênant de voir une telle erreur apparaître en mode production. Cela ressemble plutôt à un bug qu’à une erreur utilisateur. De plus, les pages d’erreurs devraient conserver le design de l’ensemble de votre site, pour éviter que l’utilisateur soit désorienté.
Pour pallier ce problème, nous allons redéfinir l’aspect des pages d’erreurs. Créons un nouveau contrôleur, qu’on appellera ErrorController. Sur le terminal, tapez la commande :
php bin/console make:controller ErrorController
Éditez le contrôleur en vous rendant sur la page src/Controller/ErrorController.
Nous allons créer une méthode show() qui sera appelée à chaque exception levée :
Dans le contrôleur :
<?php
namespace App\Controller; ...