Rumah  >  Artikel  >  rangka kerja php  >  Maklumat tentang cara mengendalikan ralat dalam thinkphp5

Maklumat tentang cara mengendalikan ralat dalam thinkphp5

WBOY
WBOYke hadapan
2023-05-28 20:19:48733semak imbas

Mekanisme pengendalian ralat

ThinkPHP5 menyediakan mekanisme pengendalian ralat yang sangat lengkap, yang boleh kami gunakan untuk mengendalikan ralat umum dan mesej ralat sistem dengan mudah. Contohnya, mesej ralat termasuk ralat 404 halaman tidak ditemui, ralat dalaman pelayan 500 dan perkhidmatan 503 tidak tersedia buat sementara waktu apabila aplikasi tapak web sedang berjalan. Kod status HTTP boleh digunakan untuk mengenal pasti mesej ralat dan mengurusnya secara terperinci berdasarkan keperluan perniagaan tertentu.

Selain itu, ThinkPHP5 menyediakan fungsi kod pengesahan, yang boleh menghalang pelanggan berniat jahat daripada menyerang aplikasi tapak web kami dan menjadikan aplikasi lebih selamat dan boleh dipercayai. Ia juga dilengkapi dengan alat pengurusan kerentanan yang boleh mengendalikan mesej ralat yang ditemui dengan mudah semasa R&D dan ujian.

Buat halaman ralat

Kami boleh menggunakan halaman ralat tersuai untuk menyampaikan mesej ralat yang lebih mesra dalam rangka kerja ThinkPHP5. Kami hanya perlu menambah kod pemprosesan yang diperlukan pada halaman ralat tersuai. Berikut ialah langkah cara membuat halaman ralat tersuai:

  1. Buat folder bernama "exception" dalam direktori akar aplikasi kami; 🎜>Buat kelas bernama "Handle" dalam folder ini;

  2. Kod untuk mengendalikan mesej ralat dan mesej pengecualian.

  3. Langkah pertama dan kedua telah selesai Sekarang kita sampai ke langkah ketiga, memproses mesej ralat dan mesej pengecualian.

Mengendalikan maklumat ralat dan maklumat pengecualian

Dalam rangka kerja ThinkPHP5, kita boleh menggunakan kaedah "render" dalam kelas asas "thinkexceptionHandle" untuk mengendalikan maklumat pengecualian. Anda boleh menggunakan kaedah ini untuk mengembalikan halaman ralat, contohnya:

use think\exception\HttpException;
use think\exception\ValidateException;
use think\Response;

class Handle extends think\exception\Handle
{
    public function render(Exception $e): Response
    {
        if ($e instanceof HttpException && $this->isAjax()) {
            $data = [
                'msg'   => $e->getMessage(),
                'code'  => $e->getStatusCode(),
            ];
            return json($data, $e->getStatusCode());
        }
        if ($e instanceof ValidateException) {
            return json($e->getError(), 422);
        }
        // 其他错误交给系统处理
        return parent::render($e);
    }
}
Dalam kod di atas, kami mentakrifkan kaedah bernama "render", yang berfungsi untuk mengendalikan maklumat pengecualian berdasarkan parameter maklumat pengecualian yang diluluskan . Syarat untuk mengembalikan respons JSON ialah pengecualian yang diluluskan ialah HttpException dan pengecualian pengesahan. Jika tidak, pengecualian dihantar kepada respons bahagian hadapan dan halaman dikembalikan menggunakan lalai kelas induk.

Kami menyediakan cara mudah untuk anda membuat dan bekerja dengan cepat dengan halaman ralat tersuai. Inilah sebabnya kami berpendapat ThinkPHP5 ialah salah satu rangka kerja PHP terbaik dan menyediakan pengaturcara dengan alat pembangunan yang berkuasa dan mudah.

Atas ialah kandungan terperinci Maklumat tentang cara mengendalikan ralat dalam thinkphp5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam