/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Bundle/WebProfilerBundle/Controller/ExceptionPanelController.php
66 строк
2 KB
Javier Eguiluz
[ErrorHandler] Redesign the exception page
07 авг 2026, 16:48
07 авг 2026, 16:48
1bc09eb
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bundle\WebProfilerBundle\Controller; use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Profiler\Profiler; /** * Renders the exception panel. * * @author Yonel Ceruto <yonelceruto@gmail.com> * * @internal */ class ExceptionPanelController { public function __construct( private HtmlErrorRenderer $errorRenderer, private ?Profiler $profiler = null, ) { } /** * Renders the exception panel stacktrace for the given token. */ public function body(string $token): Response { if (null === $this->profiler) { throw new NotFoundHttpException('The profiler must be enabled.'); } $exception = $this->profiler->loadProfile($token) ->getCollector('exception') ->getException() ; return new Response($this->errorRenderer->getBody($exception), 200, ['Content-Type' => 'text/html']); } /** * Renders the exception panel stylesheet. */ public function stylesheet(): Response { return new Response($this->errorRenderer->getStylesheet(), 200, ['Content-Type' => 'text/css']); } /** * Renders the exception panel JavaScript. */ public function javascript(): Response { return new Response($this->errorRenderer->getJavaScript(), 200, ['Content-Type' => 'text/javascript']); } }