Rumah >pembangunan bahagian belakang >tutorial php >Seni penyahpepijatan PHP, panduan dari awal hingga penguasaan

Seni penyahpepijatan PHP, panduan dari awal hingga penguasaan

WBOY
WBOYasal
2024-04-11 11:09:01648semak imbas

Anda boleh nyahpepijat kod PHP dengan berkesan dengan mendayakan pelaporan ralat, memaparkan pembolehubah menggunakan var_dump() dan print_r(), menetapkan titik putus (seperti menggunakan Xdebug), mengelog maklumat penyahpepijatan, memasang alat penyahpepijatan PHP dan menggunakan sistem pengurusan log.

PHP 调试的艺术,从零到精通指南

Seni Penyahpepijatan PHP

Penyahpepijatan ialah bahagian penting dalam proses pembangunan perisian, membantu mengenal pasti dan menyelesaikan masalah dalam kod anda. Bagi pembangun PHP, menguasai kemahiran penyahpepijatan adalah penting dan boleh mempercepatkan proses pembangunan dengan ketara.

Panduan Penyahpepijatan Asas Sifar

1. Dayakan pelaporan ralat

Secara lalai, PHP menyekat ralat dan amaran tertentu. Untuk mendapatkan maklumat sebanyak mungkin, dayakan pelaporan ralat:

ini_set('display_errors', 1);
error_reporting(E_ALL);

2. Menggunakan var_dump() dan print_r()

Fungsi ini boleh digunakan untuk memaparkan kandungan pembolehubah. Mereka sangat berguna dalam penyahpepijatan untuk melihat nilai dan jenis pembolehubah dengan cepat:

var_dump($variable);
print_r($array);

3. Tetapkan titik putus

Xdebug ialah sambungan PHP yang membolehkan anda menetapkan titik putus dan menjeda pelaksanaan pada baris kod tertentu. Ini membolehkan anda melangkah melalui kod dan memeriksa nilai pembolehubah.

Cara memasang dan menggunakan Xdebug adalah di luar skop artikel ini, tetapi anda boleh menyemak dokumentasi rasmi untuk mendapatkan maklumat lanjut.

Contoh Praktikal

Pertimbangkan coretan kod berikut:

function sum($a, $b) {
  return $a + $b;
}

$result = sum(5, 10);

Andaikan fungsi mengembalikan hasil yang salah. Langkah penyahpepijatan berikut akan membantu anda mencari masalah:

  1. Dayakan pelaporan ralat dan jalankan kod.
  2. Semak mesej ralat. Anda mungkin mendapat ralat tentang pembolehubah tidak ditentukan ($a, $b).
  3. Gunakan var_dump() untuk menyemak kandungan argumen yang dihantar ke fungsi:
var_dump($a);
var_dump($b);
  1. Hasilnya ialah tatasusunan kosong ([]), yang menunjukkan bahawa argumen fungsi itu kosong. Memeriksa kod, saya mendapati bahawa fungsi itu ditakrifkan untuk menerima parameter rujukan, tetapi parameter yang dihantar kepadanya bukan rujukan.

Kemahiran penyahpepijatan lanjutan

  • Gunakan fail log untuk merekodkan maklumat penyahpepijatan.
  • Pasang alat penyahpepijatan PHP seperti Scout atau PhpStorm.
  • Gunakan sistem pengurusan log tersuai seperti Monolog.

Atas ialah kandungan terperinci Seni penyahpepijatan PHP, panduan dari awal hingga penguasaan. 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