Комментарии 5
Кроме красивого отображения ошибки стандартный Symfony обработчик еще логирует информацию об ошибке, в данной версии логирование тоже не помешало бы

Стандартный обработчик, который занимается логированием также зарегистрирован, у него более низкий приоритет.
Конечно, в классе App\Core\EventListener\ExceptionListener лучше бы обозначить метод exceptionFormatConverter, и определить его тегом kernel.event_listener, чтобы было нагляднее назначение созданного преобразователя ошибок.
App\Core\EventListener\ExceptionListener:
tags:
- { name: kernel.event_listener, event: kernel.exception, method: exceptionFormatConverter }
Если в проекте подключен symfony/serializer
, то будет работать из коробки
composer create-project symfony/skeleton symfony-accept-format
cd symfony-accept-format
composer req serializer
GET http://127.0.0.1:8880/
Accept: application/json
#{
# "type": "https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
# "title": "An error occurred",
# "status": 500,
# "detail": "Internal Server Error"
#}
###
GET http://127.0.0.1:8880/
Accept: text/html
###
#<body>
#<div class="container">
# <h1>Oops! An Error Occurred</h1>
# <h2>The server returned a "500 Internal Server Error".</h2>
#
# <p>
# Something is broken. Please let us know what you were doing when this error occurred.
# We will fix it as soon as possible. Sorry for any inconvenience caused.
# </p>
#</div>
#</body>
#</html>
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Преобразование формата ошибок с помощью встроенных событий Symfony