因為在laravel框架中,異常都是通過App\Exceptions\Handler類來處理的,使用instanceof 比較運算符可以判斷是否是某個具體的異常,重寫類中的render方法,如下:
public function render($request, Exception $exception)
{
/* 錯誤頁面 */
if ($exception instanceof NotFoundHttpException) {
$code = $exception->getStatusCode();
if (view()->exists('errors.' . $code)) {
return response()->view('errors.' . $exception->getStatusCode());
}
}
return parent::render($request, $exception);
}
然后在views目錄里建立一個errors目錄,在目錄里再新建一個404.blade.php頁面模版,這樣再有404錯誤時就可以使用我們自己定義的404頁面了!
