Отладка с PhpStorm

Узнайте, как наиболее эффективно выполнять отладку с помощью PhpStorm и Xdebug.

Управляйте точками останова

Графический интерфейс отладки в PhpStorm предоставляет гибкие инструменты для работы с точками останова. Для условных точек останова можно задать конретные условия срабатывания, например, определенные элементы в цикле. А если вы хотите поймать исключение в момент его возникновения, используйте точки останова, которые срабатывают при возникновении исключений по всей кодовой базе.

Точки останова и их настройки никак не влияют на исходный код, но их можно сохранить в проекте PhpStorm и использовать заново в других сеансах отладки.

Выполняйте отладку пошагово строка за строкой

Если вам нужно отлаживать поток управления и анализировать структуры данных на каждой строке выполненного кода, нет необходимости устанавливать точки останова повсюду. Вместо этого вы можете последовательно выполнять код и проверять текущий стек вызовов и значения переменных на каждом шаге в окне отладки.

Вы можете войти внутрь определенной функции для более детальной построчной отладки.

Проверяйте предположения, чтобы знать, как работает ваш код

Интерактивное окно отладки

Окно отладки в PhpStorm позволяет вам манипулировать текущим состоянием программы: изменять переменные, вызывать и определять функции PHP, а также вычислять произвольные выражения без внесения исходный код.

Встроенный отладчик

Когда выполнение программы приостановлено, вы можете просматривать значения переменных и добавлять «наблюдения» (watches) не только в окне отладки, но и непосредственно в редакторе кода. Измененные значения подсвечиваются, позволяя легко отслеживать, что изменилось с последнего срабатывания точки останова.

Прогнозирование потоков данных

При получении данных от отладчика на точках останова PhpStorm выводит подсказки в редакторе о том, что произойдет в выполняемом участке кода. Блоки кода, которые предположительно не будут выполнены, затемняются.

Отлаживайте везде

Локальная и удаленная отладка

Вы можете получать данные о выполнении кода в реальном времени для каждой строки, даже если код выполняется на удаленном сервере: в Docker-контейнера, на виртуальной машине или на удаленном хосте через SSH. Просто сопоставьте файлы на сервере с их копиями в проекте PhpStorm, настройте Xdebug и включите прослушивание входящих соединений в PhpStorm.

Отладка JavaScript

PhpStorm включает в себя мощный JavaScript-отладчик от команды WebStorm. Он поддерживает как браузерный JavaScript, так и Node.js, и вы даже можете запускать отладчики Xdebug и JavaScript одновременно.

Отладка внутри шаблонов Blade и Twig

Установите точки останова в шаблонах Blade и Twig и отлаживайте их так же, как PHP-файлы. Если ссылка на код шаблона не найдена в скомпилированном файле, PhpStorm предупредит вас о том, что точка останова не сработает.

Отладка HTTP-запросов к API

Вы можете отлаживать HTTP-запросы к PHP-серверам прямо из HTTP-клиента в редакторе PhpStorm. IDE автоматически добавит куки Xdebug к запросу, выполнит его и остановится на указанной точке останова в соответствующем PHP-файле.

Просматривайте и анализируйте данные профилирования

Помимо отладки, PhpStorm создает визуальные отчеты по данным профилирования из Xdebug. Вы можете выбрать несколько снимков и получить сводную информацию. В агрегированном отчете можно переходить от статистики выполнения к соответствующим функциям в вашем PHP-коде.

IDE настроит все за вас

Проверка конфигурации Xdebug

PhpStorm использует данные от Xdebug, установленного на вашем локальном или удаленном веб-сервере, для удобной и эффективной отладки прямо в IDE. PhpStorm автоматически проверяет настройки отладчика и предлагает исправления для любых обнаруженных проблем.

Отладка без дополнительной настройки

Просто откройте стартовую страницу вашего PHP-приложения в браузере и активируйте отладочный режим. PhpStorm автоматически начнет прослушивать входящие подключения отладчика, и вы сможете использовать визуальные инструменты отладки для анализа вашего кода.