我正在使用Laravel 5,我試圖自定義404頁面和自定義異常處理,但我無法弄清楚我的代碼放在哪裏。前段時間有一個ErrorServiceProvider不再存在。任何人都可以給我一些指點嗎?Laravel 5錯誤處理
編輯:我看到他們已經在應用程序/例外文件夾中添加了一個Handler類,但仍然看起來不是正確的地方,因爲它不遵循所有的laravel 4.2 App :: error,App :: missing和App :: fatal方法。任何人有任何想法?
我正在使用Laravel 5,我試圖自定義404頁面和自定義異常處理,但我無法弄清楚我的代碼放在哪裏。前段時間有一個ErrorServiceProvider不再存在。任何人都可以給我一些指點嗎?Laravel 5錯誤處理
編輯:我看到他們已經在應用程序/例外文件夾中添加了一個Handler類,但仍然看起來不是正確的地方,因爲它不遵循所有的laravel 4.2 App :: error,App :: missing和App :: fatal方法。任何人有任何想法?
使用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);
}
}
這裏是如何進行自定義錯誤頁,而與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);
}
}
我覺得返回一個響應比它更好,例如: 'return response() - > view('errors.500',[],500);' 如果你願意,創建一個自定義視圖給所有人錯誤。 –
@RodolphoFreire我同意。答覆更新,謝謝。 – unliu
你需要把它們放在你的globals.php http://laravel.com/docs/4.2/errors#handling-errors – astroanu
也就是說laravel 4.2,我的問題是新的laravel 5 –
是的。 Taylor在其中添加了Handler類的Exception文件夾,這可以在Laravel 5中完成。預計在接下來的幾天內會正式發佈。 –