class ExceptionListener
{
public function onKernelException(GetResponseForExceptionEvent $event): void
{
dump($event->getException());
}
}
App\EventListener\ExceptionListener:
tags:
- { name: kernel.event_listener, event: kernel.exception }
Использует интерфейс, похожий на коллекции...
Может сейчас тебе кажется, что потом они понадобятся.
Поверь, в 8 из 10 случаев не понадобятся (цифра с потолка).
Вместо того чтобы выявлять требования, ты тратишь время на их выдумывание, и хорошо если угадаешь.
Согласен (но не основной). Именно поэтому я предлагаю создавать Exception-ы под реальные требования проекта, а не под себя любимого.
Стек трейс никто не отменял. Мы ведь про php говорим, да?
Ты же сообщение об ошибке то туда положишь? throw new FileException("Нет доступа к файлу");
У тебя же есть текстовый редактор который найдет все "new FileException", да?
Че тут аццкого?
Зачем вам AccessFileException?
Если вы после этой ошибки программно выставляете нужные права - то ок.
Если вы просто выводите сообщение - то зачем?
FastCGI - это когда веб-сервер перезапускает обработчик - в рамках темы - php каждый раз, как только пришел запрос на выполнение скрипта.
С другой оперы: это синхронная модель. Там же и про блокирование процесса обработчика на время отклика от того же FastCGI, например, или прокси и т.д.
Использую компонент секъюрити, делал по инструкции
symfony.com/doc/current/security/api_key_authentic...
Но в итоге в метод onKernelException мне приходит инстанс CustomUserMessageAuthenticationException, хотя в блок catch интерпритатор заходит (оставлял там die()).
И ещё важный момент, если previous не передавать - работает как надо.