Я использую klein.php маршрутизатор, который является действительно мощным, но сейчас я хочу, чтобы обрабатывать исключения, так из документаций Я использую эту функциюonHttpError в klein.php выполняет каждый раз
$klein->onHttpError(function ($code, $router,$matched,$method_matched,$http_exception) {
switch ($code) {
case 404:
$router->response()->body(
'404 Page'
);
break;
case 405:
$router->response()->body(
'You can\'t do that!'
);
break;
default:
$router->response()->body(
'Oh no, a bad error happened that caused a '. $code
);
}
});
Но даже если нет исключения, эта функция выполняет рендеринг и печать 404 page
в конце каждой страницы. Я что-то не так? Я попробовал проверить $matched
, но не повезло.
И я хочу использовать $service->render()
при обработке ошибок, как я могу это сделать? Потому что услуга недоступна, в частности, функция onHttpError
.