PHP:
Вывод отладочной информации
Как это сделать:
<?php
// Основной вывод
$variable = 'Отладка - это круто!';
echo $variable;
// Использование print_r для массивов
$myArray = ['яблоко', 'апельсин', 'банан'];
echo '<pre>'; // Делает это читабельным
print_r($myArray);
echo '</pre>';
// var_dump для деталей
$anotherArray = ['ключ' => 'значение', 'другойКлюч' => 123];
var_dump($anotherArray);
// В журнал ошибок
error_log('Это идет в журналы для более скрытой отладки.');
?>
Пример вывода:
Отладка - это круто!
Массив
(
[0] => яблоко
[1] => апельсин
[2] => банан
)
array(2) {
["ключ"]=>
string(5) "значение"
["другойКлюч"]=>
int(123)
}
Углубляемся:
Вывод отладочной информации не изменился: он существует с тех пор, как древние программисты отлаживали программы с помощью printf(). PHP принял это к сведению с echo
, print
, print_r()
и var_dump()
. Это может быть не слишком изысканно, но работает. Современные PHP-разработчики также имеют Xdebug, который позволяет шаг за шагом пройтись по коду и показать более изысканный вывод. Для журналов у вас есть error_log()
, которое отправляет сообщения в серверные журналы, не показывая их пользователям. Каждый инструмент имеет свое предназначение: echo
и print
быстры и грязны; print_r()
предназначен для дружелюбного к человеку представления массивов; var_dump()
дает мельчайшие детали о типах и длинах; error_log()
держит все под контролем, когда вы находитесь в режиме детектива на живом сайте.
Смотрите также:
- Руководство PHP по
echo
: https://www.php.net/manual/ru/function.echo.php - Больше о
print_r()
: https://www.php.net/manual/ru/function.print-r.php - Мельчайшие детали
var_dump()
: https://www.php.net/manual/ru/function.var-dump.php - Погружение в логирование с помощью
error_log()
: https://www.php.net/manual/ru/function.error-log.php - Xdebug, лучший друг отладчика: https://xdebug.org/docs/display