Laravel ialah rangka kerja PHP popular yang menyediakan ciri yang kaya dan sokongan berkuasa, menyediakan penyelesaian yang sempurna untuk membina aplikasi web dengan pantas. Walau bagaimanapun, walaupun dengan kualiti kod terbaik, ralat dan pengecualian akan sentiasa berlaku. Sekiranya berlaku ralat, aplikasi anda perlu memaparkan halaman ralat mesra untuk memberitahu pengguna apa sebenarnya yang berlaku. Laravel menyediakan penyelesaian yang boleh membantu kami mencapai matlamat ini. Biar saya tunjukkan kepada anda cara menyesuaikan halaman ralat dalam Laravel.
Dalam Laravel, apabila aplikasi menghadapi ralat atau pengecualian, halaman ralat lalai akan dipaparkan.
Walaupun halaman ini boleh memberitahu pengguna bahawa ralat telah berlaku, ia tidak begitu mesra pengguna kerana ia kelihatan mudah dan tidak cukup diperibadikan untuk memberikan pengguna maklumat lanjut tentang ralat itu. Nasib baik kita boleh melakukan ini dengan menyesuaikan halaman ralat.
Untuk mencipta halaman ralat tersuai dalam Laravel, kita perlu mengikuti langkah berikut:
Kita perlu membuat templat untuk halaman ralat tersuai terlebih dahulu. Kami boleh mencipta folder errors
dalam folder paparan aplikasi kami yang mengandungi fail paparan ralat. Dalam folder ini kita boleh mencipta fail 400.blade.php
yang akan digunakan untuk mengendalikan 400 ralat.
Untuk kemudahan, kami boleh membuat halaman ralat tersuai berdasarkan halaman ralat Laravel lalai untuk mendapatkan struktur dan gaya yang sama seperti halaman lalai. Anda boleh mendapatkan halaman ralat Laravel lalai dengan melaksanakan arahan berikut:
php artisan vendor:publish --tag=laravel-errors
Arahan ini akan menyalin paparan ralat lalai Laravel ke lokasi yang ditentukan dalam aplikasi kami. Kita boleh mencari fail ini melalui folder resources/views/errors
.
Setelah kami mencipta templat halaman ralat tersuai kami, kami perlu memberitahu Laravel cara menggunakannya. Untuk melakukan ini, kami perlu mendaftarkan pengendali ralat tersuai kami dalam fail app/Exceptions/Handler.php
kami.
Buka fail app/Exceptions/Handler.php
dan cari kaedah berikut:
public function render($request, Throwable $exception) { return parent::render($request, $exception); }
Penyelesaian paling mudah ialah menambah syarat switch
dalam kaedah ini untuk memberikan kami kod ralat yang berbeza. pandangan ralat mengembalikan pandangan. Contohnya, jika kami ingin menyesuaikan paparan ralat untuk kod ralat 400, kami boleh menambah kod berikut:
public function render($request, Throwable $exception) { switch ($exception->status) { case 400: return response()->view('errors.400', [], 400); break; default: return parent::render($request, $exception); break; } }
Kaedah ini menggunakan fungsi response()
Laravel untuk mengembalikan paparan ralat tersuai kami kepada pengguna , Jika kod status bukan 400, kaedah lalai parent::render()
dipanggil.
Kami juga boleh menambah paparan ralat lain jika perlu. Contohnya, untuk menambah paparan ralat tersuai biasa untuk semua ralat, kami boleh menambah kod berikut:
public function render($request, Throwable $exception) { if ($this->isHttpException($exception)) { switch ($exception->getStatusCode()) { case 400: return response()->view('errors.400', [], 400); break; case 404: return response()->view('errors.404', [], 404); break; case 500: return response()->view('errors.500', [], 500); break; default: return $this->renderHttpException($exception); break; } } return parent::render($request, $exception); }
Ini akan mengembalikan paparan ralat tersuai yang sepadan dengan kod status.
Dalam siaran ini, kami mempelajari cara membuat halaman ralat tersuai dalam Laravel. Kami mempelajari cara membuat templat paparan ralat dan mendaftarkan paparan ini dalam pengendali aplikasi. Kini apabila kami mengalami ralat, kami boleh memberikan pengguna maklumat yang lebih mesra untuk membantu mereka memahami masalah dengan lebih baik, dengan itu meningkatkan pengalaman pengguna aplikasi kami.
Atas ialah kandungan terperinci Bagaimana untuk menyesuaikan halaman ralat dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!