我正在使用Laravel 5,我正在尝试自定义404页面和自定义异常处理,但我无法弄清楚我的代码放在哪里。前段时间有一个不再存在的ErrorServiceProvider。谁能给我一些指示?
编辑:我看到他们在App / Exception文件夹中添加了一个Handler类,但是它似乎仍然不适合放置它,因为它并没有完全遵循laravel 4.2 App :: error,App :: missing和App ::致命方法。有人有什么想法吗?答案 0 :(得分:1)
使用app / Exceptions / Handler.php渲染方法来实现这一点。 L5文档http://laravel.com/docs/5.0/errors#handling-errors
public function render($request, Exception $e)
{
if ($e instanceof Error) {
if ($request->ajax()) {
return response(['error' => $e->getMessage()], 400);
} else {
return $e->getMessage();
}
}
if ($this->isHttpException($e)) {
return $this->renderHttpException($e);
} else {
return parent::render($request, $e);
}
}
答案 1 :(得分:1)
以下是在遵守APP_DEBUG
中的.env
设置时自定义错误页面的方法。
应用/异常/ Handler.php 强>
public function render($request, Exception $e)
{
if ($this->isHttpException($e))
{
return $this->renderHttpException($e);
}
else
{
if (env('APP_DEBUG'))
{
return parent::render($request, $e);
}
return response()->view('errors.500', [], 500);
}
}