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
}

Теперь мы можем отлаживать код по-взрослому.