В книге рассмотрен вариант разработки модуля комментариев для сайта на чистом языке php в процедурном стиле.
Приведённый ознакомительный фрагмент книги PHP. Разработка модуля комментариев для сайта предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других
1.4 Отладчик
Для отладки использовалась доработанная функция dumper(), предложенная в книге [2.С.225]. Моя доработка заключалась в замене функции each(), которая не поддерживается в версиях языка PHP выше 7.2, на цикл foreach. Скрипт с функциями размещаем в отдельном файле dumper.php и будем подключать в шапке «проблемной» страницы для вызова функции dumper().
Листинг 1. dumper.php
<?php
// Функция для вывода содержимого переменной
// Распечатывает дамп переменной на экран
function dumper($obj)
{
echo
"<pre>",
htmlspecialchars(dumperGet($obj)),
"</pre>";
}
// Возвращает строку — дамп значения переменной в древовидной форме
// (если это массив или объект). В переменной $leftSp хранится
// строка с пробелами, которая будет выводиться слева от текста.
function dumperGet(&$obj, $leftSp ="")
{
if (is_array($obj)) {
$type ="Array[". count($obj)."]";
} elseif (is_object($obj)) {
$type ="Object";
} elseif (gettype($obj) =="boolean") {
return $obj?"true":"false";
} else {
return"\"$obj\"";
}
$buf = $type;
$leftSp.="";
foreach ($obj as $k => $v) {
Reset($obj);
if ($k ==="GLOBALS") {
continue;
}
$buf.="\n$leftSp$k =>". dumperGet($v, $leftSp);
}
return $buf;
}
Данная функция выводит содержимое любой, сколь угодно сложной переменной, будь то массив, объект или простая переменная, в гораздо более удобном виде чем стандартные print_r() или var_dump().
После того как я некоторое время поработал с ней, то согласился с мнением ее разработчиков, в том, что при отладке она действительно хороша.
Ложим файл dumper.php в корень папки chat.
Скорее всего при работе с книгой рано или поздно у вас возникнут сложности с пониманием того как действует тот или иной код. Поэтому советую создать пустой файл php и назвать его допустим test.php. В шапке этого файла подключить данную функцию при помощи инструкции include. Разместить test.php в корне сайта и использовать как страницу отладки непонятного кода. Отладку делать эмпирическим путем. Вставляя непонятный код и запуская страницу для проверки того, что этот код делает, ну или не делает.
Проект относительно небольшой, поэтому с моей точки зрения, это гораздо удобнее и нагляднее, да и полезнее, чем использовать XDebug или отладчик VS Code.
Постановка задачи
Приведённый ознакомительный фрагмент книги PHP. Разработка модуля комментариев для сайта предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других