В данной инструкции кратко расскажу о настройке программного окружения для простой и удобной разработки под CMF Cotonti (для ОС Windows).
Конкретно этот материал будет на примере программ NetBeans + OpenServer (WAMP).
Основной упор сделан на краткость и начинающий уровень пользователя. Задача настроить сервер, установить сайт, и отлаживать его в IDE с помощью удобного отладчика.
Идем на http://open-server.ru/download.html, качаем свежую версию Open Server Mini
(110 Мб). Можно поставить и полную версию (~390 Мб), в нее включен дополнительный софт, который может быть полезен для вебмастера. Но я люблю сам подбирать дополнительные программы, поэтому ставлю сборку Mini
.
Программу так же можно найти на торрент трекере. Возможно это будет удобнее, т.к. с официального сайта скорость загрузки очень низкая.
Устанавливаем в удобный для вас каталог. (Я опять же установлю его в каталог C:\porta\
, где у меня лежит софт для разработки ).
Запускаем файл Open Server.exe
. При первом запуске программа спросит на каком языке отображать интерфейс (далее приведены инструкции и комментарии для русского интерфейса). Далее видим в трее (панель задач) красный флаг, который обозначает, что сервер на данный момент не запущен. Жмем на нем правую кнопку мыши (далее сокращенно ПКМ
и ЛКМ
) и выбираем запустить. С настройками по умолчанию он должен без проблем запуститься (зеленый флаг на панели задач).
Если что-то пошло не так и сервер не запустился - см. файл справки OpenServer, раздел «Вопросы и ответы».
Теперь проверим, что сервер действительно работает. открываем любимый браузер и вводим в адресную строку адрес localhost
(привыкайте это основной адрес вашего локального сервера). Если все нормально наблюдаем такую страничку:
Более опытные пользователи могут прочитать документацию к OpenServer в файле помощи (из комплекта поставки) и разобраться как настроить произвольно выбранную папку для файлов будущего сайта, настроить автозапуск сервера при старте Windows и прочее (но в наш мини обзор это не входит - поэтому действуем максимально быстро, с настройками по умолчанию).
В комплекте программ OpenServer поставляется программа Xdebug — отладчик для скриптов для PHP 5.3. OpenServer для удобства разработчиков поставляется с несколькими версиями PHP/Apache/MySQL. Чтобы заработал отладчик надо выбрать в настройках версию PHP 5.3.. Для этого ПКМ → Настройки → закладка «Модули» → PHP, и выбираем версию 5.3 (по умолчанию стоит 5.2). Можно так же выбрать версию БД как MySQL 5.5. как более стабильную. [Имейте в виду, что при переключении версии сервера БД вы потеряете доступ к ранее созданным базам. Т.е. выбирать версию стоит на начальном этапе настройки сервера и потом не менять настройки версии БД.]
Еще один момент. Отладчик по умолчанию выключен, т.к. потребляет дополнительные ресурсы при работе сервера. Включим его — как обычно ПКМ на иконке сервера → Дополнительно → Конфигурация → PHP 5.3.*. Будет открыт текстовый файл настроек PHP. Пролистаем его до конца, и видим следующие строки настройки:
;xdebug.remote_enable = 0
Меняем «0» на «1», тем самым включая отладчик, и убираем знак комментария ;
в начале строки:
xdebug.remote_enable = 1
Еще один момент - отладчик часто конфликтует с расширением IonCube (для запуска шифрованных скриптов). Для разработки Cotonti это расширение не требуется, поэтому отключим его, поставив знак комментария (точка с запятой — ;
) в начале строки загрузки модуля (см. секцию [Ioncube Loader]
тоже в конце файла):
;zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_ioncube.dll"
Сохраняем файл, закрываем и производим перезапуск сервера (меню сервера, пункт «перезапустить»).
Проверяем работает ли отладчик. Для этого выбираем в меню пункт «Дополнительно → Информация PHP» (или вводим руками в браузере адрес http://localhost/openserver/phpinfo.php
). И видим информацию о сервере PHP. Нас интересует первый раздел. В конце информация о подключенных модулях. Там должна быть запись о Xdebug:
С сервером на этом все.
Настраиваем папку для будущего тестового сайта. Для этого переходим в одну из подпапок OpenServer'а — openserver\domains\localhost\
. (Это корневая папка нашего сервера для разработки). И создаем здесь подкаталог (для примера cotonti_test
) - в нем будут лежать файлы CMF Cotonti.
Далее заходим в настройки OpenServer на вкладку Домены
. Выбираем Ручной режим
, и ниже в список добавляем запись о новом локальном домене — имя домена my-cot
, папка домена \localhost\cotonti_test
, не забываем нажать добавить
. Если попросит перезапустить сервер - соглашайтесь.
[На самом деле шаг создания дополнительного локального домена можно было пропустить, но нам в последующем будет гораздо удобнее вводить в браузере http://my-cot
, чем длинную строку http://localhost/cotonti_test
.]
Проверяем - вводим адрес http://my-cot
в браузере. [Рекомендую вводить целиком с префиксом http://
, т.к. в противном случае «умные» браузеры думают, что это ввод поисковой строки, и отправят вас вместо адреса сервера на сайт какой-либо поисковой системы].
Видим содержимое папки cotonti_test
(пока там пусто):
Скачиваем актуальную версию с http://www.cotonti.com/download/. Сейчас это версия 0.9.14. Распаковываем содержимое архива в предварительно созданную папку cotonti_test
(см. предыдущий пункт).
Теперь снова в браузер и обновляем страницу с локальным адресом http://my-cot
.
Теперь вы должны увидеть стандартную страницу установки Cotonti:
Выбираем язык (для примера русский), жмем далее, там проверка на минимальные требования (все должно быть ОК), далее вводим имя пользователя и пароль для доступа к БД (по умолчанию это mysql / mysql ). [Продвинутым пользователям для безопасности рекомендую заранее сменить стандартные пароли через настройки сервера, и создать дополнительного пользователя для разработки. Как это сделать можно прочитать в справке OpenServer.]
Жмем далее, система создаст БД. Теперь вводим данные будущего администратора. (Для примера admin / admin, вам рекомендую вводить, что-то свое). В поле адреса вводим емейл (можно свой реальный, можно выдуманный, т.к. все письма все равно останутся на вашем тестовом сервере и в реальную сеть не попадут).
Далее, по вкусу выбираем плагины для установки. Далее установить. После установки вы должны увидеть главную страницу сайта. Можно войти под записью админа, чьи данные (admin / admin) мы только что вводили. Посмотреть и настроить админку при необходимости — подробнее см. на сайте Cotonti..
Идем на https://netbeans.org/downloads/ качаем сборку HTML5 & PHP
(60 Мб) — дли примера использовался NetBeans версии 7.4.
Устанавливаем. Можно в папку по умолчанию (Program Files
). Я лично привык программы для разработки держать в отдельной папке, поэтому ставлю в C:\porta\
(но это не принципиально).
Запускаем NetBeans через ярлык в меню «Пуск» (или иным удобным для вас способом).
Тут вынесена за скобки информация по созданию собственного плагина (см. оф. сайте Cotonti.com, в том числе раздел «Разработка плагина»). Сосредоточимся на запуске отладчика скриптов, пошаговый прогон выполнения кода CMF, просмотр определенных переменных. В последующем вы можете все эти же навыки использовать и для работы над кодом собственного плагина.
Первое, что надо сделать в IDE, это создать новый проект, который будет отражать код и содержимое нашего тестового сайта (http://my-cot
). Выбираем меню File → New Project
, выбираем категорию PHP
, тип проекта PHP application with existing source
(т.е. приложение с уже готовым кодом), жмем Next
. В качестве исаходного каталога (Sources folder
) выбираем каталог нашего сайта — openserver\domains\localhost\cotonti_test
. Имя проекта оставляем cotonti_test
(версия PHP 5.3, кодировка UTF8).
Переходим на следующий этап (жмем Next
) и задаем имя нашего локального сервера:
Finish
, и наш проект создан. И можем его запустить (нажатием F6 или кнопкой на панели):
Теперь самое главное — попробуем запустить сайт в режиме отладки. Что это нам даст? Мы сможем отслеживать выполнение любой строчки кода последовательно с начала и до конца, или интересующий нас фрагмент, установив точку остановки.
Для начала проверим настройки для отладки в самой IDE NetBeans — меню Tools
→ пункт Options
.
Закладка General
: тут проверяем, чтобы был указан корректный путь к исполняемому файлу PHP (из установки OpenServer). Смотрим иллюстрацию и по аналогии настраиваем для своего каталога установки:
Закладка Debugging
— проверьте согласно иллюстрации.
Начнем отладку. В Cotonti почти все вызовы страниц происходят через единую точку входа — файл index.php, который находится в корне сайта. С него и начнем. Открываем его, выбрав в дереве проекта в окне слева.
Если посмотреть на код, то видно что в начале идет проверка на режим установки (install), потом загрузка файла настроек config.php
, потом подключение файлов функций (functions.php
) и файла шаблонизатора (cotemplate.php
).
Далее в зависимости от вызвавшей страницы и параметров происходит загрузка (подключение) тех, или иных файлов CMS.
Однако основные переменные движка начинают формироваться в файле common.php
, который подключается в строке 37.
Здесь и поставим точку остановки — либо кликаем мышью на номере строки, либо нажимаем Ctrl-F8
. Теперь запускаем отладку - комбинация Ctrl-F5
или кнопка на панели инструментов:
Если все настроено правильно запустится процесс отладки — вы увидите экран браузера и страницу с иконкой загрузки. Но сама страница не отобразиться,
потому, что программа остановлена отладчиком в указанной нами точке (строка 37 файла index.php):
В верхней панели становятся доступны кнопки управление процессом отладки — остановить процесс отладки (Shift-F5
), продолжить до следующей точки останова (F5
), следующий шаг (F8
), шаг с заходом в процедуру/блок кода (F7
), выход из текущего блока (Ctrl-F7
), запустить до места отмеченного курсором (F4
).
Текущая позиция отмечена в коде зеленой строкой. В правом окне мы видим список переменных, которые на данный момент уже определены в коде. Для удобства необходимые переменные можно поставить на индивидуальный контроль. Такие переменные отображаются в верхней части окна (в нашем примере это переменная $_GET). Для внесения переменной в этот список ее можно выделить в тексте и нажать (Ctrl-Shift-F7).
Будем выполнять код пошагово - нажмем F7
, чтобы войти в блок подключения файла common.php
. IDE сама откроет подключаемый файла и отобразит текущую строку выполнения. Далее можем построчно двигаться по коду нажимая (F8
— следующий шаг), и наблюдать за значениями переменных.
В файле common.php
происходит определение большинства системных переменных движка, здесь вы можете проследить как они формируются.
Когда надоест этот процесс можно нажать F5
(продолжить до следующей точки останова), и т.к. точек остановки у нас больше нет, отладчик выполнит весь оставшийся скрипт без остановок. В окне браузера загрузится привычная вам главная страница.
Таким образом можно сделать остановку в любом месте кода, установив точку остановки в нужном файле или функции. Аналогично можно отлаживать код любой страницы CMS. Например нажмите ссылку «пользователи» на главной странице и вы попадете на отладку страницы списка пользователей (т.к. вход у нас происходит через единый файл, а точку остановки мы не сняли). Можете переключиться в IDE и продолжить пошаговое выполнение.
На этом все. Основный принципы живой отладки описаны.
p.s. Если что-то не заработало (IDE не может подключиться к отладчику), значит что-то вы упустили). Рекомендую в таком случае проштудировать вот эту статью по настройке NetBeans и XDebug, там подробно расписано что, как и зачем (правда немного для другой сборки WAMP сервера, но это не принципиально).
На самом деле в сети множество описаний-инструкций на русском по работе в IDE NetBeans. Ищите, изучайте.
Удачи!