Laravel 4-使用自定义消息处理404


Laravel 4 - Handling 404s With Custom Messages

根据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()中的消息。