根据Laravel 4的文档,我可以抛出一个带有自定义响应的404:
App::abort(404, 'My Message');
然后我可以用一个自定义页面处理我所有的404:
App::missing(function($exception)
{
return Response::view('errors.missing', array(), 404);
});
如何像一般的Laravel错误页面那样将"我的消息"传递到视图。
谢谢!
您可以通过异常参数捕获消息
App::missing(function($exception)
{
$message = $exception->getMessage();
$data = array('message', $message);
return Response::view('errors.missing', $data, 404);
});
注意:代码可以减少,为了清晰起见,我这样写。
在Laravel 5中,您可以为/resources/views/errors
目录中的每个响应代码提供刀片视图。例如,404错误将使用/resources/views/errors/404.blade.php
。
手册中没有提到的是,在视图中您可以访问$exception
对象。因此,您可以使用{{ $exception->getMessage() }}
来获取传递到abort()
中的消息。