Apabila membangun menggunakan rangka kerja ThinkPHP, kami sering menghadapi ralat program. Apabila program melaporkan ralat, tetingkap gesaan ralat akan muncul Jika kami tidak mengendalikannya, tetingkap ini akan kekal sehingga ia ditutup secara manual. Ini sudah pasti akan menjejaskan pengalaman pengguna dan menjadikan pembangun sangat menyusahkan. Jadi bagaimana untuk menutup tetingkap gesaan ralat ini dalam rangka kerja ThinkPHP?
Pertama sekali, kita perlu tahu bahawa halaman ralat rangka kerja ThinkPHP dihasilkan oleh kaedah ThinkPHPLibraryThinkError
dalam kelas display
. Jadi selagi anda membuat sedikit pengubahsuaian dalam kaedah ini, anda boleh merealisasikan fungsi menutup tetingkap gesaan ralat.
Langkah pelaksanaan khusus adalah seperti berikut:
ThinkPHPLibraryThinkError
, buka dan cari kaedah display
. display
: if (isset($config['show_page_trace']) && $config['show_page_trace']) { // ... } else { // 显示错误信息 include $this->getErrorTemplate($exception); }
Blok kod ini digunakan untuk menentukan sama ada untuk memaparkan maklumat penjejakan ralat terperinci. Kita perlu menggantikan include $this->getErrorTemplate($exception)
dengan kod berikut:
if (IS_AJAX) { //如果是 Ajax 请求,直接返回 JSON 格式的数据 $result = array( 'code' => -1, 'msg' => $exception->getMessage() ); exit(json_encode($result)); } else { //如果是普通请求,则直接输出错误信息 exit($exception->getMessage()); }
Antaranya, IS_AJAX
ialah pemalar dalam rangka kerja ThinkPHP, digunakan untuk menentukan sama ada permintaan semasa ialah permintaan Ajax.
Error
yang diubah suai dan jalankan semula atur cara. Kini, apabila program melaporkan ralat, tetingkap gesaan ralat tidak akan muncul lagi, tetapi maklumat ralat akan dikeluarkan terus ke halaman (jika ia adalah permintaan Ajax, ia akan menjadi dikembalikan dalam format JSON).
Perlu diambil perhatian bahawa menutup tetingkap gesaan ralat akan membawa pengalaman yang lebih baik kepada pengguna, tetapi ia juga akan meningkatkan kesukaran menyahpepijat untuk pembangun. Oleh itu, dalam persekitaran formal, kita harus membuka tetingkap gesaan ralat supaya ralat dapat ditemui dan dibaiki tepat pada masanya.
Ringkasan:
Tetingkap ralat dalam rangka kerja ThinkPHP boleh ditutup dengan mengubah suai kaedah Error
kelas display
. Tetapi dalam persekitaran formal, tetingkap gesaan ralat harus dibuka supaya ralat dapat ditemui dan dibaiki tepat pada masanya. Apabila pembangun menggunakannya, mereka perlu mengendalikannya secara fleksibel mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menutup ralat thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!