src/Exception/Handler/NotFoundExceptionHandler.php line 20

  1. <?php
  2. // src/Exception/Handler/NotFoundExceptionHandler.php
  3. namespace App\Exception\Handler;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\HttpKernel\Event\ExceptionEvent;
  7. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  8. class NotFoundExceptionHandler implements EventSubscriberInterface
  9. {
  10.     public static function getSubscribedEvents()
  11.     {
  12.         return [
  13.             'kernel.exception' => 'onKernelException',
  14.         ];
  15.     }
  16.     public function onKernelException(ExceptionEvent $event)
  17.     {
  18.         $exception $event->getThrowable();
  19.         if ($exception instanceof NotFoundHttpException) {
  20.             // Rediriger vers la page d'erreur personnalisée
  21.             $response = new Response('La page demandée n\'existe pas.'404);
  22.             $event->setResponse($response);
  23.         }
  24.     }
  25. }