Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将自定义消息(或任何其他数据)传递到Laravel 404.blade.php_Php_Laravel_Laravel 5 - Fatal编程技术网

将自定义消息(或任何其他数据)传递到Laravel 404.blade.php

将自定义消息(或任何其他数据)传递到Laravel 404.blade.php,php,laravel,laravel-5,Php,Laravel,Laravel 5,我使用的是Laravel5,我在中创建了一个文件404.blade.php views/errors/404.blade.php 每次调用时都会呈现此文件: abort(404); // alias of App::abort(404); 如何传递自定义消息?在404.blade.php Sorry, {{ $message }} {{ $e->getMessage() }} 填写人(示例): 或 在Laravel 4中,可以使用App::missing: App::missing

我使用的是Laravel5,我在中创建了一个文件
404.blade.php

views/errors/404.blade.php
每次调用时都会呈现此文件:

abort(404); // alias of App::abort(404);
如何传递自定义消息?在
404.blade.php

Sorry, {{ $message }}
{{ $e->getMessage() }}
填写人(示例):

在Laravel 4中,可以使用
App::missing

App::missing(function($exception)
{
    $message = $exception->getMessage();
    $data = array('message', $message);
    return Response::view('errors.404', $data, 404);
});

全局共享一个变量怎么样

 view()->share('message', 'llnk has gone away');
 // or using the facade
 View::share('message', 'llnk has gone away badly');
只要确保在模板中回退到默认值,以防忘记设置它


请参阅与视图共享数据:

扩展Laravel的异常处理程序,
照亮\Foundation\Exceptions\Handler
,并使用自己的方法重写
renderHttpException(Symfony\Component\HttpKernel\Exception\HttpException$e)
方法

如果您还没有运行php artisan fresh,这对您来说会很容易。只需编辑app/Exceptions/Handler.php,或者创建一个新文件

Handler.php 在您的
404.blade.php中

Sorry, {{ $message }}
{{ $e->getMessage() }}
有关其他有用的方法,如
getStatusCode()
,请参阅
Symfony\Component\HttpKernel\Exception

(注意:复制自。)

在Laravel 5中,您可以在
/resources/views/errors
目录中为每个响应代码提供刀片视图。例如,404错误将使用
/resources/views/errors/404.blade.php


手册中没有提到的是,在视图中,您可以访问
$exception
对象。因此,您可以使用
{{$exception->getMessage()}
来获取传递到
abort()

中的消息,该消息可能会很有趣(抱歉,我没有太多的声誉),问题是您每次执行abort时都需要调用它。。。示例:
view()->share('message','llnk已经消失');中止(404)您可以全局定义一条消息
view()->share('404_message','foo'){{{$exception->getMessage()}
不可用。向您致敬:)
abort(404, 'Something not found');
{{ $e->getMessage() }}