Согласно документам Laravel 4 я могу отправить 404 с пользовательским ответом:
App::abort(404, 'My Message');
Затем я могу обрабатывать все свои 404 с помощью настраиваемой страницы:
App::missing(function($exception) { return Response::view('errors.missing', array(), 404); });
Как передать «Мое сообщение» на представление так же, как это делает общая страница ошибок Laravel.
Благодаря!
Вы можете поймать сообщение через параметр Exception
App::missing(function($exception) { $message = $exception->getMessage(); $data = array('message', $message); return Response::view('errors.missing', $data, 404); });
Примечание. Код может быть уменьшен, я написал его вот так для ясности.
В Laravel 5 вы можете предоставить виды Blade для каждого кода ответа в каталоге /resources/views/errors
. Например, ошибка 404 будет использовать /resources/views/errors/404.blade.php
.
Что не упоминается в руководстве, так это то, что внутри представления у вас есть доступ к объекту $exception
. Поэтому вы можете использовать {{ $exception->getMessage() }}
чтобы получить сообщение, которое вы передали в abort()
.