Что ты используешь для отладки (дебаггинга) в PHP?

«Что ты используешь для отладки (дебаггинга) в PHP?» — вопрос из категории PHP Core, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В PHP я использую комбинацию инструментов в зависимости от задачи: 1. **Xdebug** — основной инструмент для пошаговой отладки. Я настраиваю его интеграцию с PHPStorm. Это позволяет ставить точки останова, инспектировать переменные в реальном времени и анализировать стек вызовов. Конфигурация в `php.ini`: ```ini zend_extension=xdebug.so xdebug.mode=debug,develop xdebug.client_port=9003 xdebug.start_with_request=yes ``` 2. **Логирование через Monolog** — для отслеживания поведения в продакшене или сложных асинхронных процессах. Настраиваю каналы для записи в файлы, Sentry или Slack. ```php $log = new Logger('app'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::DEBUG)); $log->info('User logged in', ['user_id' => $userId]); ``` 3. **Быстрая инспекция через `dd()` или `var_dump()`** — для экспресс-проверки во время разработки. В Laravel активно использую хелпер `dd()`, а в чистом PHP — комбинацию с `
` для читаемости:
    ```php
    echo '
';
    var_dump($complexArray);
    echo '
'; exit; ``` Для профилирования производительности и поиска узких мест также подключаю **Tideways** или **Blackfire**.