<?php namespace App\Security; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Security\Core\Exception\AccessDeniedException; use Symfony\Component\Security\Http\Authorization\AccessDeniedHandlerInterface; use Twig\Environment; class AccessDeniedHandler implements AccessDeniedHandlerInterface { public function __construct(Environment $twig) { $this->twig = $twig; } public function handle(Request $request, AccessDeniedException $accessDeniedException) { $code = 403; return new Response($this->twig->render('@Twig/Exception/error.html.twig', [ 'status_code' => $code, 'status_text' => isset(Response::$statusTexts[$code]) ? Response::$statusTexts[$code] : '', ]), $code); } }