Forums / National / Russian / Тех. поддержка / Настройка среды разработки под Cotonti (под Windows)

на примере OpenServer + NetBeans

Macik
#38446 2013-11-11 21:26

[ Не нашел оптимального раздела в документации куда это разместить. Тем более на русском. Поэтому прошу модераторов скопировать и разместить в подходящем разделе.]

Настройка среды разработки под Cotonti

В данной инструкции кратко расскажу о настройке программного окружения для простой и удобной разработки под CMF Cotonti (для ОС Windows).

Конкретно этот материал будет на примере программ NetBeans + OpenServer (WAMP).

Основной упор сделан на краткость и начинающий уровень пользователя. Задача настроить сервер, установить сайт, и отлаживать его в IDE с помощью удобного отладчика.

Установка сервера AMP (apache/mysql/php)

Общая настройка OpenServer

Идем на http://open-server.ru/download.html, качаем свежую версию Open Server Mini (110 Мб). Можно поставить и полную версию (~390 Мб), в нее включен дополнительный софт, который может быть полезен для вебмастера. Но я люблю сам подбирать дополнительные программы, поэтому ставлю сборку Mini. Программу так же можно найти на торрент трекере. Возможно это будет удобнее, т.к. с официального сайта скорость загрузки очень низкая. Устанавливаем в удобный для вас каталог. (Я опять же установлю его в каталог C:\porta\, где у меня лежит софт для разработки ).

Запускаем файл Open Server.exe. При первом запуске программа спросит на каком языке отображать интерфейс (далее приведены инструкции и комментарии для русского интерфейса). Далее видим в трее (панель задач) красный флаг, который обозначает, что сервер на данный момент не запущен. Жмем на нем правую кнопку мыши (далее сокращенно ПКМ и ЛКМ) и выбираем запустить. С настройками по умолчанию он должен без проблем запуститься (зеленый флаг на панели задач). Если что-то пошло не так и сервер не запустился - см. файл справки OpenServer, раздел «Вопросы и ответы». Теперь проверим, что сервер действительно работает. открываем любимый браузер и вводим в адресную строку адрес localhost (привыкайте это основной адрес вашего локального сервера). Если все нормально наблюдаем такую страничку:

20131111-u2c-26kb.jpg

Более опытные пользователи могут прочитать документацию к OpenServer в файле помощи (из комплекта поставки) и разобраться как настроить произвольно выбранную папку для файлов будущего сайта, настроить автозапуск сервера при старте Windows и прочее (но в наш мини обзор это не входит - поэтому действуем максимально быстро, с настройками по умолчанию).

В комплекте программ OpenServer поставляется программа Xdebug — отладчик для скриптов для PHP 5.3. OpenServer для удобства разработчиков поставляется с несколькими версиями PHP/Apache/MySQL. Чтобы заработал отладчик надо выбрать в настройках версию PHP 5.3.. Для этого ПКМ → Настройки → закладка «Модули» → PHP, и выбираем версию 5.3 (по умолчанию стоит 5.2). Можно так же выбрать версию БД как MySQL 5.5. как более стабильную. [Имейте в виду, что при переключении версии сервера БД вы потеряете доступ к ранее созданным базам. Т.е. выбирать версию стоит на начальном этапе настройки сервера и потом не менять настройки версии БД.]

20131111-l32-19kb.jpg

Еще один момент. Отладчик по умолчанию выключен, т.к. потребляет дополнительные ресурсы при работе сервера. Включим его — как обычно ПКМ на иконке сервера → Дополнительно → Конфигурация → 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"

20131111-tv4-24kb.jpg

20131111-19r-29kb.jpg

Сохраняем файл, закрываем и производим перезапуск сервера (меню сервера, пункт «перезапустить»). Проверяем работает ли отладчик. Для этого выбираем в меню пункт «Дополнительно → Информация PHP» (или вводим руками в браузере адрес http://localhost/openserver/phpinfo.php). И видим информацию о сервере PHP. Нас интересует первый раздел. В конце информация о подключенных модулях. Там должна быть запись о Xdebug:

20131111-52o-25kb.jpg

С сервером на этом все.

Настройка домена для разработки

Настраиваем папку для будущего тестового сайта. Для этого переходим в одну из подпапок OpenServer'а — openserver\domains\localhost\. (Это корневая папка нашего сервера для разработки). И создаем здесь подкаталог (для примера cotonti_test) - в нем будут лежать файлы CMF Cotonti. Далее заходим в настройки OpenServer на вкладку Домены. Выбираем Ручной режим, и ниже в список добавляем запись о новом локальном домене — имя домена my-cot, папка домена \localhost\cotonti_test, не забываем нажать добавить. Если попросит перезапустить сервер - соглашайтесь.

20131111-97r-37kb.jpg

[На самом деле шаг создания дополнительного локального домена можно было пропустить, но нам в последующем будет гораздо удобнее вводить в браузере http://my-cot, чем длинную строку http://localhost/cotonti_test.]

Проверяем - вводим адрес http://my-cot в браузере. [Рекомендую вводить целиком с префиксом http://, т.к. в противном случае «умные» браузеры думают, что это ввод поисковой строки, и отправят вас вместо адреса сервера на сайт какой-либо поисковой системы]. Видим содержимое папки cotonti_test (пока там пусто):

20131111-i7d-12kb.jpg

Установка CMF Cotonti

Скачиваем актуальную версию с http://www.cotonti.com/download/. Сейчас это версия 0.9.14. Распаковываем содержимое архива в предварительно созданную папку cotonti_test (см. предыдущий пункт). Теперь снова в браузер и обновляем страницу с локальным адресом http://my-cot. Теперь вы должны увидеть стандартную страницу установки Cotonti:

20131111-us4-12kb.jpg

Выбираем язык (для примера русский), жмем далее, там проверка на минимальные требования (все должно быть ОК), далее вводим имя пользователя и пароль для доступа к БД (по умолчанию это mysql / mysql ). [Продвинутым пользователям для безопасности рекомендую заранее сменить стандартные пароли через настройки сервера, и создать дополнительного пользователя для разработки. Как это сделать можно прочитать в справке OpenServer.]

20131111-y9o-38kb.jpg

Жмем далее, система создаст БД. Теперь вводим данные будущего администратора. (Для примера admin / admin, вам рекомендую вводить, что-то свое). В поле адреса вводим емейл (можно свой реальный, можно выдуманный, т.к. все письма все равно останутся на вашем тестовом сервере и в реальную сеть не попадут).

20131111-96o-36kb.jpg

Далее, по вкусу выбираем плагины для установки. Далее установить. После установки вы должны увидеть главную страницу сайта. Можно войти под записью админа, чьи данные (admin / admin) мы только что вводили. Посмотреть и настроить админку при необходимости — подробнее см. на сайте Cotonti..

Установка IDE NetBeans

Идем на 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) и задаем имя нашего локального сервера:

20131111-1t6-35kb.jpg

Finish, и наш проект создан. И можем его запустить (нажатием F6 или кнопкой на панели):

20131111-nbo-68kb.jpg

Настройка параметров отладчика

Теперь самое главное — попробуем запустить сайт в режиме отладки. Что это нам даст? Мы сможем отслеживать выполнение любой строчки кода последовательно с начала и до конца, или интересующий нас фрагмент, установив точку остановки.

Для начала проверим настройки для отладки в самой IDE NetBeans — меню Tools → пункт Options.

Закладка General: тут проверяем, чтобы был указан корректный путь к исполняемому файлу PHP (из установки OpenServer). Смотрим иллюстрацию и по аналогии настраиваем для своего каталога установки:

20131111-1uv-45kb.jpg

Закладка Debugging — проверьте согласно иллюстрации.

Отладка скриптов сайта при разработке

Начнем отладку. В Cotonti почти все вызовы страниц происходят через единую точку входа — файл index.php, который находится в корне сайта. С него и начнем. Открываем его, выбрав в дереве проекта в окне слева.

Если посмотреть на код, то видно что в начале идет проверка на режим установки (install), потом загрузка файла настроек config.php, потом подключение файлов функций (functions.php) и файла шаблонизатора (cotemplate.php). Далее в зависимости от вызвавшей страницы и параметров происходит загрузка (подключение) тех, или иных файлов CMS.

Однако основные переменные движка начинают формироваться в файле common.php, который подключается в строке 37. Здесь и поставим точку остановки — либо кликаем мышью на номере строки, либо нажимаем Ctrl-F8. Теперь запускаем отладку - комбинация Ctrl-F5 или кнопка на панели инструментов:

20131112-779-53kb.jpg

Если все настроено правильно запустится процесс отладки — вы увидите экран браузера и страницу с иконкой загрузки. Но сама страница не отобразиться,

20131112-m1l-11kb.jpg

потому, что программа остановлена отладчиком в указанной нами точке (строка 37 файла index.php):

20131112-32w-106kb.jpg

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

Удачи!

 

Этот файл в GitHub Gist - https://gist.github.com/macik/7420635

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
This post was edited by Macik (2014-02-05 04:59, 10 years ago)