Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk mencetak mesej ralat dalam rangka kerja Laravel

Bagaimana untuk mencetak mesej ralat dalam rangka kerja Laravel

PHPz
PHPzasal
2023-04-13 13:37:181003semak imbas

Dalam proses pembangunan dan penyahpepijatan rangka kerja Laravel, pemprosesan maklumat ralat dan pengecualian adalah sangat kritikal. Apabila ia datang untuk mengendalikan mesej ralat, mencetak mesej ralat adalah cara yang sangat penting. Artikel ini akan memperkenalkan cara mencetak mesej ralat dalam rangka kerja Laravel.

1. Mekanisme ralat dalam Laravel

Ralat dalam rangka kerja Laravel dibahagikan kepada dua situasi: pengecualian dan mesej ralat. Apabila pengecualian berlaku dalam kod, sistem akan secara automatik membuang pengecualian. Dalam penulisan kod perniagaan, mesej ralat yang muncul memerlukan kami menanganinya secara manual.

Dalam rangka kerja Laravel, maklumat ralat diproses melalui Pengendali Pengecualian. Pengendali pengecualian boleh menangkap pengecualian yang dilemparkan oleh aplikasi, merekodkan data pengecualian dan menyampaikan mesej ralat mesra pengguna.

2. Mencetak maklumat ralat

Semasa proses pembangunan kod perniagaan, kami selalunya perlu menyemak maklumat ralat sistem, yang penting untuk nyahpepijat dan mengesan masalah. Dalam rangka kerja Laravel, mencetak mesej ralat adalah sangat mudah.

Apabila ralat berlaku dalam aplikasi, kami hanya perlu mengeluarkan maklumat cetakan dalam halaman web. Dalam aplikasi, pernyataan untuk mencetak mesej ralat adalah sangat mudah:

dd($error);

di mana $error ialah mesej ralat.

Fungsi dd() ialah fungsi penyahpepijatan yang disediakan dalam rangka kerja Laravel, yang boleh mencetak maklumat penyahpepijatan dan menamatkan pelaksanaan program. Semasa fasa pembangunan, kita boleh menggunakannya untuk melihat nilai pembolehubah, nilai utama tatasusunan, output fungsi, dll. Apabila kami menggunakan fungsi dd() dalam aplikasi, halaman akan memaparkan maklumat penyahpepijatan terperinci dan maklumat ralat.

3. Maklumat ralat boleh cetak

Dalam rangka kerja Laravel, kami boleh mencetak banyak maklumat ralat yang berguna, seperti maklumat laluan akses, maklumat pengawal, maklumat templat dan maklumat pangkalan data, dsb. . Mari kita lihat cara mencetak maklumat ini.

3.1 Maklumat penghalaan

Dalam rangka kerja Laravel, kita boleh menyemak laluan mana yang sedang diakses dengan mencetak maklumat penghalaan. Kodnya adalah seperti berikut:

dd(Route::current());

3.2 Maklumat pengawal

Kadangkala, kita perlu melihat maklumat pengawal yang dipanggil. Dalam rangka kerja Laravel, kita boleh mencetak maklumat pengawal semasa melalui kod berikut:

dd(app('request')->route()->getAction());

3.3 Maklumat templat

Dalam rangka kerja Laravel, kita boleh mencetak paparan yang digunakan ( templat ) maklumat. Gunakan kod berikut untuk mencetak maklumat paparan yang digunakan:

dd(view()->getFinder()->getHints());

3.4 Maklumat pangkalan data

Dalam rangka kerja Laravel, kami boleh mencetak penyata SQL yang dilaksanakan dan data yang ditanya . Kodnya adalah seperti berikut:

\DB::listen(function ($query) {
    $sql = $query->sql;
    $bindings = $query->bindings;
    foreach ($bindings as &$binding) {
        $binding = is_numeric($binding) ? $binding : "'" . $binding . "'";
    }
    $sql = str_replace("?", "%s", $sql);
    $sql = sprintf($sql, ...$bindings);
    \Log::info($sql);
});

Kod di atas akan mencetak kod SQL yang dilaksanakan dalam pangkalan data, yang mudah untuk kami lihat dan nyahpepijat.

4. Ringkasan

Dalam rangka kerja Laravel, maklumat ralat percetakan adalah bahagian yang sangat penting. Kami boleh mencari dan menyahpepijat masalah kod dengan cepat dengan mencetak maklumat penghalaan, pengawal, templat dan pangkalan data. Sila ambil perhatian semasa proses pembangunan: Hanya mencetak mesej ralat tidak dapat menyelesaikan masalah, dan analisis dan pemprosesan lanjut diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk mencetak mesej ralat dalam rangka kerja Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn