XDebug - это расширение для PHP, которое предоставляет широкие возможности по отладке PHP-приложения. Это расширение позволяет указывать точки остановки (breakpoints), грубо говоря, которые представляют из себя "паузу выполнения" скрипта. Эти breakpoints останавливают выполнение скрипта (в том участке, где было указано), и выводят все текущие доступные данные на момент остановки (переменные и их значения, классы, куки, сессии, и т.д.).
XDebug полностью исключает необходимость в использовании monkey-дебага, типа:
var_dump($soveVar); // string... // или print_r($soveVar); // array... die();
Почему это удобнее?
Во-первых, breakpoint-ы, ставить проще и быстрее. Во-вторых, такой структурированной и полной информации не добиться ни от какой из существующих debug-функций. А в-третьих, используя это расширение, можно менять значения любых переменных налету, изучая влияние новых значений на приложение в целом.
XDebug для Laravel & VSCode
Скачиваем xdebug.dll и помещаем в папку с расширениями (например, C:\xampp\php\ext).
Добавляем в php.ini файл фрагмент:
[XDebug] zend_extension=xdebug xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_port=9003 xdebug.client_host="127.0.0.1" xdebug.log="C:\xampp\log\xdebug.log" xdebug.idekey=VSCODE
Далее в VSCode настраиваем конфигурацию для отладки (Run => Add configuration):
{ "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003 }
Теперь мы можем отлаживать код по-взрослому.