使用XDebug來進行PHP專案調試
XDebug是PHP開發中不可或缺的調試工具,它提供了強大的斷點調試、性能分析和代碼覆蓋率檢測功能。通過XDebug,開發者可以在代碼中設置斷點、檢查變數值、跟踪函數調用堆棧、分析性能瓶頸等,從而極大地提升PHP開發的效率和代碼質量。
XDebug簡介
XDebug是一個PHP擴展,用於提供調試和分析功能。它允許開發者在代碼中設置斷點,逐步執行代碼,檢查變數值和程序狀態,幫助開發者更好地理解和調試代碼。
啟用Xdebug並配置調試環境
ServBay在出廠時已經為每個PHP版本都附帶了Xdebug。
注意
請參考文章 如何啟用ServBay自帶的Xdebug模組 來獲取如何打開Xdebug模組
以及配置PHPStorm
的相關信息
具體調試例子
示例專案結構
假設我們有一個簡單的PHP專案,目錄結構如下:
servbay_xdebug_app/
├── src/
│ └── Calculator.php
└── index.php
1
2
3
4
2
3
4
Calculator.php
文件內容如下:
php
<?php
namespace App;
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
public function subtract($a, $b)
{
return $a - $b;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
index.php
文件內容如下:
php
<?php
require 'vendor/autoload.php';
use App\Calculator;
$calculator = new Calculator();
$sum = $calculator->add(5, 3);
$difference = $calculator->subtract(5, 3);
echo "Sum: " . $sum . "\n";
echo "Difference: " . $difference . "\n";
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
設置斷點
我們希望調試Calculator
類中的add
方法,看看它是如何執行的。在PHPStorm中打開Calculator.php
文件,並在return $a + $b;
行設置一個斷點。
啟動調試會話
- 在PHPStorm中,點擊頂部工具欄中的
Start Listening for PHP Debug Connections
按鈕(小蟲子圖標)。 - 在瀏覽器中訪問你的PHP應用,例如
https://servbay-xdebug-app.test/index.php
。
調試過程
- 當瀏覽器訪問
index.php
時,XDebug會自動連接到PHPStorm,並在設置的斷點處暫停執行。 - 在PHPStorm中,你會看到代碼暫停在
Calculator.php
文件的add
方法的return $a + $b;
行。
檢查變數值
- 在PHPStorm的調試窗口中,可以看到當前執行的代碼行、調用堆棧、變數值等信息。
- 在
Variables
面板中,可以看到變數$a
和$b
的值分別為5
和3
。
單步執行
- 點擊
Step Over
按鈕(或按F8
),逐步執行代碼。 - 觀察變數值的變化,確保
add
方法返回了正確的結果。
繼續執行
- 點擊
Resume Program
按鈕(或按F9
),繼續執行代碼。 - 程序會繼續運行,直到遇到下一個斷點或執行完畢。
查看輸出
- 在瀏覽器中查看輸出結果,應該顯示:
Sum: 8 Difference: 2
1
2
結論
通過XDebug,開發者可以方便地在PHP代碼中設置斷點、檢查變數值、逐步執行代碼,從而更好地理解和調試代碼。在實際開發中,XDebug的斷點調試功能可以幫助開發者快速定位和解決問題,提升開發效率和代碼質量。通過上述具體的調試例子,我們可以看到XDebug在PHP專案調試中的強大功能和便捷性。