Скачать книгу

На большинство вопросов, которые связаны с пониманием работы кода вы найдете именно в этом справочнике.

      1.3 Сервер

      Разработка ведется локально, поэтому нужен сервер. Здесь все просто: Open Server. В нем уже встроено все, что нужно в данной ситуации. А именно: Apache, PHP, MySQL, phpMyAdmin и отправка писем с сервера. Поэтому идем на сайт разработчика https://ospanel.io/. Качаем нужную версию. Устанавливаем. Запускаем. Щелкаем на значке «Open Server» в виде флажка и переходим на вкладку «Настройки» затем «Модули». Выбираем нужную версии языка PHP желательно самую последнюю, она будет зависеть от версии Windows установленной на вашем компьютере, выбираем модуль Apache, программы, которая позволяет пользователю просматривать веб-документы, совместимый с версией PHP и нужный модуль базы данных MySQL.

      Рис. 3 Настройки модулей Open Server

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

      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 в корне сайта и использовать как страницу отладки непонятного кода. Отладку делать эмпирическим путем. Вставляя непонятный код и запуская страницу для проверки того,

Скачать книгу