Если вы используете наш фреймворк, вы наверно хотели бы добавить поддержку настройки отображения ошибок. Сейчас мы поддерживаем 404 и 500 ошибки, но они хардкорно забиты в коде. Сделать так, чтобы можно было настраивать их довольно легко: добавить новое событие и слушателя в диспетчер. Т.е. слушатель должен вызывать обычный контроллер. Но что если контроллер ошибок выбросит исключение? Будет зацикливание. Должен быть более простой способ, не так ли?

Посмотрим на HttpKernel класс. Вместо того, чтобы каждый раз решать одну и туже проблему снова и снова, изобретая каждый раз велосипед, HttpKernel – это общая, расширяемая и гибкая реализация HttpKernelInterface.

Этот класс похож на наш фреймворк: он следит за событиями во время запросов, использует  распознователь контроллеров, который передает управления в зависимости от запроса, и, кроме того, заботиться о крайних случаях, обеспечивая обратную связь, когда возникает проблема.

Вот новый код фреймворка: