vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/PreviewErrorController.php line 18

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Bundle\TwigBundle\Controller;
  11. use Symfony\Component\Debug\Exception\FlattenException;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\HttpKernel\HttpKernelInterface;
  14. @trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use the "%s" instead.'PreviewErrorController::class, \Symfony\Component\HttpKernel\Controller\ErrorController::class), E_USER_DEPRECATED);
  15. /**
  16.  * PreviewErrorController can be used to test error pages.
  17.  *
  18.  * It will create a test exception and forward it to another controller.
  19.  *
  20.  * @author Matthias Pigulla <mp@webfactory.de>
  21.  *
  22.  * @deprecated since Symfony 4.4, use the Symfony\Component\HttpKernel\Controller\ErrorController instead.
  23.  */
  24. class PreviewErrorController
  25. {
  26.     protected $kernel;
  27.     protected $controller;
  28.     public function __construct(HttpKernelInterface $kernel$controller)
  29.     {
  30.         $this->kernel $kernel;
  31.         $this->controller $controller;
  32.     }
  33.     public function previewErrorPageAction(Request $request$code)
  34.     {
  35.         $exception FlattenException::createFromThrowable(new \Exception('Something has intentionally gone wrong.'), $code);
  36.         /*
  37.          * This Request mimics the parameters set by
  38.          * \Symfony\Component\HttpKernel\EventListener\ErrorListener::duplicateRequest, with
  39.          * the additional "showException" flag.
  40.          */
  41.         $subRequest $request->duplicate(nullnull, [
  42.             '_controller' => $this->controller,
  43.             'exception' => $exception,
  44.             'logger' => null,
  45.             'format' => $request->getRequestFormat(),
  46.             'showException' => false,
  47.         ]);
  48.         return $this->kernel->handle($subRequestHttpKernelInterface::SUB_REQUEST);
  49.     }
  50. }