Rumah >rangka kerja php >ThinkPHP >Analisis cara dan kaedah penyahpepijatan ThinkPHP

Analisis cara dan kaedah penyahpepijatan ThinkPHP

藏色散人
藏色散人ke hadapan
2021-12-14 15:27:321716semak imbas

Lajur tutorial rangka kerja thinkphp berikut akan menganalisis kaedah penyahpepijatan yang perlu anda kuasai apabila menggunakan ThinkPHP saya harap ia dapat membantu rakan yang memerlukan.

Analisis kaedah penyahpepijatan yang perlu dikuasai apabila menggunakan ThinkPHP

Kaedah penyahpepijatan yang perlu dikuasai apabila menggunakan ThinkPHP

Saya sering melihat orang bertanya tentang jenis data pemulangan findAll Apakah jenis masalah yang ada, dan jika ada masalah dan saya tidak tahu mengapa, saya masih tidak biasa dengan kaedah dan kaedah penyahpepijatan yang terbina dalam ThinkPHP Mengetepikan kaedah penyahpepijatan itu datang dengan IDE itu sendiri, jika anda menggunakan atau merancang untuk menggunakan ThinkPHP untuk pembangunan Jika ya, maka anda harus memahami dan menguasai kaedah berkaitan penyahpepijatan berikut:

1 Hidupkan mod penyahpepijatan DEBUG_MODE dalam projek fail konfigurasi, yang akan membolehkan anda mencari kebanyakan punca ralat. Boleh menjejaskan output kod pengesahan.

2 Jika anda tidak mahu menggunakan mod nyahpepijat, anda boleh menghidupkan paparan Jejak halaman secara berasingan. Saya mendapati bahawa sebab mengapa ramai orang tidak mahu menggunakan mod nyahpepijat sebenarnya adalah kerana output maklumat jejak halaman Sebenarnya, terdapat salah faham mereka berpendapat bahawa mod nyahpepijat mesti mempunyai jejak halaman Sebenarnya, tiada hubungan yang diperlukan antara mod nyahpepijat dan jejak halaman Selepas menghidupkan mod nyahpepijat, fail konfigurasi penyahpepijatan lalai sistem akan mendayakan paparan Jejak halaman, jadi anda boleh menentukan fail konfigurasi penyahpepijatan yang berasingan untuk projek.

3. Gunakan fungsi dump yang ditentukan oleh sistem Kaedah ini boleh mengeluarkan sebarang jenis maklumat pembolehubah seperti var_dump, dan lebih mudah untuk dilihat dalam penyemak imbas:

Kodnya seperti berikut:

$User = D("User");
$list = $User->findAll();
dump($list);

4 Maklumat Trace halaman hanya boleh memaparkan pernyataan sql yang dilaksanakan pada halaman semasa, tetapi ia tidak boleh melihat pernyataan sql dalam operasi latar belakang yang dilaksanakan dalam mod ajax, jadi anda juga boleh dayakan SQL_DEBUG_LOG pengelogan sql untuk merekodkan setiap pernyataan sql pelaksanaan, dan anda boleh melihat masa pelaksanaan setiap pernyataan sql Fail log sql terletak di bawah direktori Log, dan log sql harian dibezakan secara automatik mengikut tarikh.

5 Satu lagi ialah jika anda mengesyaki terdapat ralat dalam pelaksanaan SQL selepas melakukan operasi data tertentu, anda boleh menggunakan kaedah getLastSql kelas model untuk melihat pernyataan SQL yang dilaksanakan terakhir untuk menganalisis spesifik. punca kesilapan. Contohnya:

Kodnya adalah seperti berikut:

$User = D("User");
$User->id = 3;
$User->name = 'ThinkPHp';
$User->save();
echo $User->getLastSql();
// 输出 update think_user set where id=3;

6 Apabila anda perlu menyahpepijat masa berjalan bagi sekeping kod tertentu, anda boleh menggunakan debug_start($label) dan debug_end($label) yang disediakan oleh sistem, contohnya:

Kodnya adalah seperti berikut:

debug_start('demo');
// 这里是你的代码段.......
debug_end('demo');

Atas ialah kandungan terperinci Analisis cara dan kaedah penyahpepijatan ThinkPHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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