Использование XDebug для отладки PHP проектов
XDebug — незаменимый инструмент для отладки в разработке PHP. Он предоставляет мощные возможности для отладки с использованием точек прерывания, анализа производительности и проверки покрытия кода. С помощью XDebug разработчики могут устанавливать точки прерывания в коде, проверять значения переменных, отслеживать стек вызовов функций и анализировать узкие места в производительности, что значительно улучшает эффективность разработки PHP и качество кода.
Введение в XDebug
XDebug — это расширение PHP, которое предоставляет функции отладки и анализа. Оно позволяет разработчикам устанавливать точки прерывания в коде, пошагово выполнять код, проверять значения переменных и состояние программы, помогая разработчикам лучше понимать и отлаживать код.
Включение XDebug и настройка среды отладки
В ServBay XDebug включен для каждой версии PHP по умолчанию.
Внимание
Пожалуйста, ознакомьтесь со статьей Как включить модуль XDebug в ServBay для получения информации о том, как активировать модуль XDebug
и настроить PHPStorm
.
Конкретный пример отладки
Структура примерного проекта
Предположим, у нас есть простой PHP проект со следующей структурой каталогов:
servbay_xdebug_app/
├── src/
│ └── Calculator.php
└── index.php
2
3
4
Содержимое файла Calculator.php
:
<?php
namespace App;
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
public function subtract($a, $b)
{
return $a - $b;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Содержимое файла index.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";
2
3
4
5
6
7
8
9
10
11
Установка точки прерывания
Мы хотим отладить метод add
в классе Calculator
, чтобы увидеть, как он выполняется. Откройте файл Calculator.php
в PHPStorm и установите точку прерывания на строке с return $a + $b;
.
Запуск сеанса отладки
- В PHPStorm нажмите кнопку
Start Listening for PHP Debug Connections
на верхней панели инструментов (значок маленького жучка). - В браузере откройте ваше PHP приложение, например,
https://servbay-xdebug-app.test/index.php
.
Процесс отладки
- Когда браузер откроет
index.php
, XDebug автоматически подключится к PHPStorm и приостановит выполнение на установленной точке прерывания. - В PHPStorm вы увидите, что код приостановлен на строке
return $a + $b;
в методеadd
файлаCalculator.php
.
Проверка значений переменных
- В окне отладки PHPStorm вы можете увидеть текущую строку выполнения кода, стек вызовов и значения переменных.
- В панели
Переменные
вы можете увидеть значения переменных$a
и$b
, которые равны5
и3
соответственно.
Пошаговое выполнение
- Нажмите кнопку
Step Over
(или клавишуF8
), чтобы пошагово выполнить код. - Наблюдайте за изменением значений переменных, убедитесь, что метод
add
возвращает правильный результат.
Продолжение выполнения
- Нажмите кнопку
Resume Program
(или клавишуF9
), чтобы продолжить выполнение кода. - Программа будет продолжать выполнение до следующей точки прерывания или завершения выполнения.
Просмотр вывода
- В браузере посмотрите результат выполнения. Он должен быть таким:
Sum: 8 Difference: 2
1
2
Заключение
С помощью XDebug разработчики могут легко устанавливать точки прерывания в PHP коде, проверять значения переменных, пошагово выполнять код и лучше понимать и отлаживать код. В реальной разработке функции отладки с использованием точек прерывания XDebug помогают разработчикам быстро находить и устранять проблемы, повышая эффективность разработки и качество кода. В вышеприведённом примере отладки мы смогли убедиться в мощных функциях и удобстве XDebug для отладки PHP проектов.