src/EventListener/MaintenanceListener.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Symfony\Component\HttpFoundation\Response;
  4. use Symfony\Component\HttpKernel\Event\RequestEvent;
  5. use Twig\Environment;
  6. class MaintenanceListener
  7. {
  8.     private $maintenance;
  9.     /**
  10.      * @var Environment
  11.      */
  12.     private $twig;
  13.     public function __construct($maintenanceEnvironment $twig)
  14.     {
  15.         $this->maintenance $maintenance;
  16.         $this->twig $twig;
  17.     }
  18.     public function onKernelRequest(RequestEvent $requestEvent){
  19.         //on verfier si le fichier maintenance existe
  20.         if(!file_exists($this->maintenance)){
  21.             return;
  22.         }
  23.         //Permet de definir la response
  24.         $requestEvent->setResponse(
  25.             new Response(
  26.                 $this->twig->render('maintenance/maintenance.html.twig'),
  27.                 Response::HTTP_SERVICE_UNAVAILABLE
  28.             )
  29.         );
  30.         // on stop le traitement des evenement
  31.         $requestEvent->stopPropagation();
  32.     }
  33. }