От автора: только что написанный код трудно назвать хорошим, пока в нем не проведен глубокий дебаггинг. Особенно это касается программирования на PHP: из-за низкой типизации данных «ловля жуков» может занять слишком много времени. Для того чтобы отладка не занимала столько трудочасов, необходимо правильно ее настроить. Сегодня покажем, что в PhpStorm отладка PHP может быть быстрой и не заставляющей вас ходить по форумам с простыми вопросами.
С чего начать
Сначала необходимо понять, что такое отладка кода. Это такой этап создания программы, когда ваша цель — найти все ошибки, который успели совершить. Исходя из самой природы программирования, при отладке необходимо узнать, какие значения у переменных в данный момент, а также определить, по какому алгоритму была выполнена программа. Все это за нас будет делать программное обеспечение, нам предстоит лишь настроить его.
Для отладки кода используют, как ни странно, отладчики — специальные программы, которые пошагово выполняют написанную программу и проверяют, какой из элементов заводит расчеты в тупик. А программист уже самостоятельно выбирает, как именно исправить подсвеченные области.
Подготовка
Чтобы продемонстрировать процесс отладки, нам необходимо воспользоваться определенными инструментами, которые нужны для проведения операций с кодом на PHP. Главным из них будет, конечно, IDE PhpStorm, а остальные по списку:
веб-сервер. Второе слово в определении здесь, скорее, рудимент. На самом деле, веб-сервером называют совокупность программного обеспечения, которое умеет принимать запросы от клиента, обрабатывать их и отдавать обратно. Несмотря на то, что OpenServer принято называть утилитой для новичков, она справляется и профессиональными задачами. Поэтому для отладки кода подойдет и она (на самом деле, подошел бы и Денвер);
средства PHP. Имеется в виду сам язык. Хотя седьмая версия понемногу захватывает все больше разработчиков, продемонстрируем отладку с этой спецификацией. Тем более, что процесс мало чем отличается от семерки;
XDebug. Это средство одинаково хорошо подходит и для профилирования, и для отладки, но только для языка препроцессоров. Создатели хотели максимально упростить работу с отладкой на PHP. Кстати, с мая 2002 года (выпуск XDebug) не было предложено решения лучше для PHP.
И нашей первой задачей станет…
Настройка конфигурации
Как правило, детально объясняем все, что нужно сделать в настройках. Но не в этот раз. Сейчас лишь скажем, что именно нужно сделать. Итак, прежде всего, нужно найти файл php.ini и внести некоторые изменения. Благодаря им XDebug станет дружить с средой разработки PhpStorm и внесет отладчик в список инструментов. Итак, открыв файл при помощи редактора кода, прописываем:
zend_extension="%путь к php%/ext/php_xdebug.dll"; — при таких настройках осуществится автостарт xdebug.remote_autostart=on xdebug.remote_enable=on xdebug.remote_handler="dbgp" xdebug.remote_host="localhost"; — номер порта может быть числовым, но это значение более универсально xdebug.remote_port=9001 xdebug.remote_mode=req; xdebug.idekey="PHPSTORM" – рандомный ключ, который пока не приводится
Если получилось, значит, можно переходить к настройке самой среды разработки. Здесь все значительно проще, ведь графический интерфейс делает процесс значительно более понятным. К примеру, нам необходимо зайти в настройки с самой среды, а не с файловой системы и, уж тем более, не с командной строки.
В настройках переходим во вкладку PHP и кликаем по иконке напротив интерпретатора. Она выглядит, как три точки:
Теперь нужно добавить еще один сервер. На стадии отладки кода он будет локальным, поэтому в строке хоста у нас должно быть значение localhost. Кстати, помните все то, что изменили в файле php.ini? Имя хоста должно быть таким же и в этих полях.
Теперь переходим к настройке XDebug. Она начинается с того, что выбираем вкладку из подменю, которая называется Debug. В графе XDebug выбираем то значение порта, которое указали в файле php.ini. А чтобы отладчик останавливался на первых строчках кода, снимаем галочки с тех чекбоксов, что немного ниже.
Уже в каталоге Debug находим вкладку DBGp Proxy и ставит значения из того же файла .ini. Вот и все!
При таком подходе использование будет гораздо менее сложным, чем при настройке по другим мануалам. Чтобы начать отладку, необходимо расставить точки останова, включить прослушку порта, который установлен для XDebug, и открыть написанный вами код. Кстати, сами точки не нужно будет ловить на ходу, кликая по «жуку». Просто положитесь на программу!
Примечательно то, что отладка на JavaScript происходит подобным образом. Разница в том, что придется установить расширение для Google Chrome. Это официальный плагин от JetBrains (название – IDE Support), который можно получить в магазине Google. Среди интересного функционала получаем функцию Live Edit. Сюда входят основные веб-языки, так что, когда вы будете редактировать HTML, CSS, JavaScript или PHP в среде разработки, то результат будет сразу отображен в браузере, без необходимости обновлять страницы.
Также нет никакой разницы в отладке в WebStorm и PhpStorm. Все те же инструменты и те же настройки. Кстати, тот же плагин для Google Chrome дружит и с этой средой. А у нас все!