无法在Laravel中显示404错误的特定视图
我的app/start/global.php文件中有以下代码:无法在Laravel中显示404错误的特定视图,laravel,laravel-4,Laravel,Laravel 4,我的app/start/global.php文件中有以下代码: App::missing(function($exception){ return Response::view('missing', array('url' => Request::url()), 404); }); @extends('master') @section('header') <h2>404 Error</h2> @stop @section('content')
App::missing(function($exception){
return Response::view('missing', array('url' => Request::url()), 404);
});
@extends('master')
@section('header')
<h2>404 Error</h2>
@stop
@section('content')
<p>
Unable to locate page.
</p>
@stop
我在app/view上有一个名为missing.blade.php的文件。但是,上面的代码给了我一个FatalErrorException,告诉我“在非对象上调用成员函数getPath()。我从中获得上述信息的错误页面的格式也很混乱
但是,当我将global.php中的代码更改为以下内容时,一切正常:
App::missing(function($exception){
return Response::make("Page not found", 404);
});
我不明白发生了什么事。找不到管线时,如何显示特定视图
编辑:
这是我丢失的.blade.php文件:
App::missing(function($exception){
return Response::view('missing', array('url' => Request::url()), 404);
});
@extends('master')
@section('header')
<h2>404 Error</h2>
@stop
@section('content')
<p>
Unable to locate page.
</p>
@stop
以下内容应适用于您,并使您能够更好地控制其他错误:
App::error(function(Exception $exception, $code)
{
Log::error($exception);
switch ($code)
{
case 403:
return 'Your 403 message';//or load any custom view
break;
case 404:
return Redirect::to('/');//or load any custom view
break;
case 500:
return 'Your 500 Error Message';//or load any custom view
break;
default:
return Redirect::to('/');//or load any custom view
}
});
我们可以看看你的missing.blade.phpI在我上面的编辑中添加了missing.blade.php的内容吗。我在另一个文件中使用了完全相同的布局,没有任何问题(即@extends和@section)。master.blade.php请将我的“App::missing…”代码替换为您的代码,并将案例404的“return Redirect::('/');”一行替换为“return Response::view('missing');”。现在,当我尝试转到未定义的页面时,它会转到该页面并部分加载我的模板。。。奇怪。这意味着重定向工作正常,可能是视图文件中的错误?尝试将视图文件的内容简化为“hello world”,看看它是否有效……啊,我明白了。是的,当我在missing.blade.php中放入类似“Hello world!”的内容时,它会起作用。但是为什么它不能与我的模板标记一起工作?@cornflakes24视图文件中的某些内容导致它不能正常工作,请尝试使用var_dump对其进行调试,直到找到断点。然而,我认为这是一个完全不同的问题。考虑关闭这个问题,并张贴一个新的,如果这个答案帮助原来的问题,可以自由地标记它。