Как подробно здесь: Нужна помощь с Kohana 3 и поймать весь маршрут, превращающийся в ошибку 404 в качестве принятого ответа на вопрос, я пытаюсь поймать ошибки, выданные Kohana, чтобы отобразить красивые страницы ошибоки отправьте правильные коды HTTP.
Вот упрощенная версия, чтобы продемонстрировать проблему:
try {
// Instantiate your Request object
$request = Request::instance();
// The give it a try, to see if its a valid request
$request->execute();
}
catch (Kohana_Request_Exception $e) {
header('Content-Type: text/html; charset='.Kohana::$charset, TRUE, 404);
echo Request::factory('err/404')->send_headers()->execute()->response;
exit;
}
echo $request->send_headers()->response;
Итак, я перехожу на несуществующий URL-адрес, такой как http://example.local/moo/, и получаюследующий ответ
Kohana_Request_Exception [ 0 ]: Unable to find a route to match the URI: moo
Вот что происходит: запрос выполняется, сбой с Kohana_Request_Exception, он перехватывается НО, когда я пытаюсь создать новый объект запроса, Request::factory('err/404')
этот запрос выдает ошибку из моего первого запроса ....!?wtf ??
Я возился с этим в течение хорошего часа и так же озадачен, как и когда начал.Разве новый запрос от фабрики не должен знать о старом запросе?Почему этот код работает неправильно, когда я по сути скопировал его из ответа d00d?
// Release version and codename
const VERSION = '3.0.7';
const CODENAME = 'hattrick';
Кто-то указывает мне правильное направление ... спасибо, ребята.