Компонент Отладка

Компонент Отладка предоставляет инструменты для облегчения отладки PHP-кода.

Установка

Вы можете установить компонент несколькии способами:

Then, require the vendor/autoload.php file to enable the autoloading mechanism provided by Composer. Otherwise, your application won't be able to find the classes of this Symfony component.

Применение

Компонент Отладка предоставляет несколько инструментов, чтобы помочь вам с отладкой PHP-кода. Их подключение не могло бы быть проще:

1
2
3
use Symfony\Component\Debug\Debug;

Debug::enable();

Метод enable() регистрирует обработчик ошибок, обработчик исключений и специальный загрузчик класса.

Прочтите следующие разделы, чтобы узнать больше о разных доступных инструментах.

Caution

Никогда не стоит включать инструменты отладки в окружении производства, так как они могут опубликовать чувствительную информацию пользователям.

Включение обработчика ошибок

Класс ErrorHandler ловит PHP-ошибки и преобразует их в исключения (класса ErrorException или FatalErrorException для фатальной PHP-ошибки):

1
2
3
use Symfony\Component\Debug\ErrorHandler;

ErrorHandler::register();

Включение обработчика исключений

Класс ExceptionHandler ловит непойманные PHP-исключение и преобразуетих в красивые PHP-ответы. В режиме отладки полезно заменять вывод PHP/XDebug по умолчанию на что-то более полезное:

1
2
3
use Symfony\Component\Debug\ExceptionHandler;

ExceptionHandler::register();

Note

Если доступен компонент HttpFoundation, обработчик использует объект Symfony Response; если нет - используется резервный обычный PHP-ответ.

Отладка загрузчика класса

Класс DebugClassLoader пробует вызвать более полезные исключения, когда класс не найден зарегистрированными автозагрузчиками. Все автозагрузчики, которые реализуют метод findFile(), заменяются оболочкой DebugClassLoader.

Использование DebugClassLoader настолько простое, что заключается в вызове его статичного метода enable():

1
2
3
use Symfony\Component\Debug\DebugClassLoader;

DebugClassLoader::enable();

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.