2016-02-05 196 views
2

我是Lumen的新手,想要使用此框架创建应用程序。现在我遇到了这样的问题,如果某个用户输入了错误的url =>http://www.example.com/abuot(错误)=>http://www.example.com/about(右),我想提出一个自定义错误页面,这将是理想的中间件级别。此外,我能够检查当前网址是否有效,但我不确定如何在中间件中“制作”视图,response() - > view()将不起作用。Lumen中的自定义404页面

如果有人可以帮忙,会很棒。

+0

[在流明中创建自定义错误页面]的可能的重复(http://stackoverflow.com/questions/30233211/creating-custom-error-page-in-lumen) – James

+0

@ maiorano84该文档是为Laravel赢得'对流明来说,工作是一样的。异常需要手动捕获和处理。 – James

+0

这绝对是重复的,但不幸的是这里的答案是更好的 – Jonathan

回答

11

视为错误在App\Exceptions\Handler中处理,这是处理它们的最佳位置。

如果你是一个自定义404错误页面之后只,那么你可以这样做很容易:

加入这一行了Handler文件的顶部:

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

改变render函数看起来像这样:

public function render($request, Exception $e) 
{ 
    if($e instanceof NotFoundHttpException){ 
     return response(view("errors.404"), 404); 
    } 
    return parent::render($request, $e); 
} 

这假设您的自定义404页面存储在错误文件夹,并将返回自定义错误页面以及404状态代码。

+0

谢谢,我用它在生产和开发环境 – yussan