Краткая инструкция по настройке связки программ IDE-WAMP (на примере NetBeans IDE) для разработки под Cototnti.
Настройка среды разработки под 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 , где у меня лежит софт для разработки ).
Как создавать и отлаживать программы на С++ в NetBeans
Запускаем файл 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.
как более стабильную. [Имейте в виду, что при переключении версии сервера БД вы потеряете доступ к ранее созданным базам. Т.е. выбирать версию стоит на начальном этапе настройки сервера и потом не менять настройки версии БД.]
Простой пример на Java в NetBeans 7.3
Еще один момент. Отладчик по умолчанию выключен, т.к. потребляет дополнительные ресурсы при работе сервера. Включим его — как обычно ПКМ на иконке сервера → Дополнительно → Конфигурация → 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’а — openserverdomainslocalhost . (Это корневая папка нашего сервера для разработки). И создаем здесь подкаталог (для примера cotonti_test ) — в нем будут лежать файлы CMF Cotonti. Далее заходим в настройки OpenServer на вкладку Домены . Выбираем Ручной режим , и ниже в список добавляем запись о новом локальном домене — имя домена my-cot , папка домена localhostcotonti_test , не забываем нажать добавить . Если попросит перезапустить сервер — соглашайтесь.
[На самом деле шаг создания дополнительного локального домена можно было пропустить, но нам в последующем будет гораздо удобнее вводить в браузере http://my-cot , чем длинную строку http://localhost/cotonti_test .]
Проверяем — вводим адрес http://my-cot в браузере. [Рекомендую вводить целиком с префиксом http:// , т.к. в противном случае «умные» браузеры думают, что это ввод поисковой строки, и отправят вас вместо адреса сервера на сайт какой-либо поисковой системы]. Видим содержимое папки cotonti_test (пока там пусто):
Установка CMF Cotonti
Скачиваем актуальную версию с http://www.cotonti.com/download/. Сейчас это версия 0.9.14. Распаковываем содержимое архива в предварительно созданную папку cotonti_test (см. предыдущий пункт). Теперь снова в браузер и обновляем страницу с локальным адресом http://my-cot . Теперь вы должны увидеть стандартную страницу установки Cotonti:
Выбираем язык (для примера русский), жмем далее, там проверка на минимальные требования (все должно быть ОК), далее вводим имя пользователя и пароль для доступа к БД (по умолчанию это mysql / mysql ). [Продвинутым пользователям для безопасности рекомендую заранее сменить стандартные пароли через настройки сервера, и создать дополнительного пользователя для разработки. Как это сделать можно прочитать в справке OpenServer.]
Жмем далее, система создаст БД. Теперь вводим данные будущего администратора. (Для примера admin / admin, вам рекомендую вводить, что-то свое). В поле адреса вводим емейл (можно свой реальный, можно выдуманный, т.к. все письма все равно останутся на вашем тестовом сервере и в реальную сеть не попадут).
Далее, по вкусу выбираем плагины для установки. Далее установить. После установки вы должны увидеть главную страницу сайта. Можно войти под записью админа, чьи данные (admin / admin) мы только что вводили. Посмотреть и настроить админку при необходимости — подробнее см. на сайте Cotonti..
Установка IDE NetBeans
Идем на https://netbeans.org/downloads/ качаем сборку HTML5 https://gist.github.com/macik/7420635″ target=»_blank»]gist.github.com[/mask_link]
AI-09
Данная статья описывает, какие возможности среда NetBeans предоставляет для работы с СУБД. Описывается, как простое создание подключений, так и непосредственное администрирование баз данных из NetBeans. Показано, как с помощью средств среды можно создать примтивную программу(или базис для более сложной программы) автоматически. Также приведенысведения о двух наиболее полезных встроенных средствах, не относящихся к работе с СУБД напрямую, но значительно ее облегчающих.
Содержание:
1. Возможности NetBeans IDE по работе с СУБД
- Создание подключений и регистрация серверов
- Администрирование через NetBeans IDE
- Простейшая программа для работы с СУБД
- Persistence Unit и Entity classes
- Entity manager и Query
2. Прочие полезные особенности NetBeans IDE
- Refactor
- Binding
1. Возможности NetBeans IDE по работе с СУБД
Создание подключений и регистрация серверов
Чтобы выполнить подключение силами NetBeans вам необходимо переключиться в окно Services и выполнить команду New connection в контекстном меню пункта Databases. Открывшееся окно потребует от вас, во-первых, выбрать драйвер, через который будет осуществляться подключение (к примеру, для подключения к MySQL серверу понадобится выбрать MySQL(Connector/J driver)). Во-вторых, следует указать путь к базе данных одним из двух способов: либо заполнив соответствующие поля при включенном режиме Field Entry, либо просто указав URL в режиме Direct URL Entry. Наконец, следует ввести имя пользователя и пароль, от которых будет осуществляться доступ к базе данных (учтите, что если снять флажок запоминания пароля, то его придется повторно вводить при каждом использование этого подключения при работе с NEtBeans). После нажатия OK вы сможете наблюдать вновь созданное подключение, если развернете список Databases все в том же окне Services.
Создание нового подключения
Альтернативный вариант, удобный, если вам приходится создавать несколько подключений к одному MySQL серверу, это прежде чем создавать базу данных, выполнить команду Register MySQL Server, в открывшемся окне которой, нужно будет задать все те же поля, правда уже без возможности ввод URL. Кроме того, следует учитывать, что от вас требуются именно администраторские имя пользователя и пароль, иначе большинство возможностей этого инструмента будут вам недоступны. В этом же, кстати говоря, на второй вкладке можно сразу указать путь/URL к программе, которую вы желаете использовать для администрирования этого сервера. После того, как вы укажете все необходимые данные, и регистрация сервера завершится, вам чтобы подключиться к любой из баз данных этого сервера, нужно будет лишь выбрать ее из списка и выбрать в контекстном меню Connect. Правда, следует учитывать, что подключение будет выполнено с администраторскими именем и паролем, так что если вы хотите ограничить права какого-либо подключения, то создавать его необходимо по первому варианту.
Подключение сервера MySql
Администрирование через NetBeans IDE
Разобравшись с созданием подключений, переходим к самому интересному – администрированию баз данных. По сути, NetBeans предоставляет все функции, по работе с базами данных без написания какого-либо кода вообще (включая SQL скрипты). К примеру, прямо из NetBeans вы можете создать базу на зарегистрированном сервере, тут же подключить ее, открыв контекстное меню подключения создать таблицу, открыть уже ее через команду View Data, перейти в режим заполнения кнопкой InsertRecords и заполнить таблицу всеми необходимыми данными. И все это вообще без написания какой-либо программы.
Если же говорить об этих функциях подробнее, то в целом они идентичны возможностям того же MySQL WorkBench, только выполнены в другом интерфейсе. В их число входит, как возможность просто исполнять пользовательские SQL команды (и не только исполнять: вы можете внутри вашего проекта создать один или несколько SQL файлов, где эти скрипты будут храниться до тех пор, пока вам не понадобятся), так и, вообще не связываясь со скриптами, создавать, удалять, заполнять и редактировать таблицы. Кроме того, вы можете создать выборки(Views), задавать связи между таблицами, правда, графического интерфейса для задания связей, как в WorkBench тут нет, и схему связей придется держать в собственной памяти.
Режим работы с таблицей базы данных
Простейшая программа для работы с СУБД
Разобравшись с тем, как взаимодействует с базами данных сама среда разработки, перейдем все-таки к созданию программ, которые будут работать с теми же базами уже без нашего участия. Начнем с самого простого: примитивный вариант программы, типа CRUD(Create, Read, Update, Delete – Создать, Считать, Обновить, Удалить), позволяющий работать с одной и только одной таблицей создается следующим образом:
1. Выполняете New Project. В окне Choose Project выбирайте Java > Java Desktop Application
2. Дойдя до окна Name and Location, помимо указания имени и пути к новому проекту в списке Choose Application Shell выберите Database Application
3. В следующем окне выбери один из заранее созданных соединений, конкретную таблицу и те из ее столбцов, которые должны быть доступны пользователю.
4. Наконец, последним шагом, выберите, каким образом будет выглядеть область редактирования (набором текстовых полей или таблицей), и какие собственно из столбцов будут в ней доступны.
На этом все. NetBeans сам сгенерирует весь необходимый код и полученная в результате программа будет полностью готова к работе, не требую исправлений и отладки. Хотя кое-что все же можно исправить. Например, убрать строки заранее выделенные комментариями «remove for real app», иначе программа при обновлении данных будет на каждом этапе выжидать, давая пользователю в полной мере насладиться чрезвычайно информативными пояснениями в нижней части окна.
Задание параметров новой программы
И ее окончательный вид для пользователя
Плюсы: Вообще не требуется знания языка программирования, так как не вводится ни одна строчка кода. Полученный продукт обеспечивает минимальный набор функций по работе с таблицей базы данных и хорошо подходит для изучения способов, через которые NetBeans эти функции реализует.
Минусы: Как и всегда автоматический код весьма громоздок и неудобен. К примеру, почти половину конструктора занимает настройка ProgressBar, который, скорее всего, никому и не нужен. Попытки же внести в код исправления, лишь подтвердят идею, что с нуля программу писать было бы легче.
Собственно следующие три пункта и демонстрируют какие средства понадобятся при работе с нуля ( хотя, конечно, совсем «с нуля» была работа вообще без использования средств NetBeans).
Persistence Unit и Entity classes
Итак, допустим, что программа создается либо через Java Application, либо через Java Desktop Application, но в режиме Basic Application, а не Database. В этом случае первая проблема, которую надо решить – как привязать определенное подключение к программе. Для этого используются т. н. Persistence Units – что-то вроде хранилищ параметров подключения в конкретной программе.
Редактировать их можно либо через NetBeans, либо непосредственно, так как существуют они в виде xml файлов. Именно в них хранятся адреса подключения, имя библиотеки, за счет которой будут выполняться операции, связанные с транзакцией данных, а также вспомогательные параметры, вроде подхода к созданию таблиц (Создавать несуществующие, создавать все заново, не создать вовсе). На начальном этапе из всего этого нас интересует только возможность выбрать нужное нам подключение – большего пока от Persistence Unit не требуется.
Вторая проблема заключается в следующем: данные, полученные с сервера надо где-то хранить для последующей обработки – и именно для этого используются т. н. Entity classes, которые по сути своей – эквиваленты строке таблицы из базы данных. В них входят тот же набор полей, что и в таблицу, методы set/get для каждого поля и чаще всего методы toString, преобразующий объект такого класса в строковый формат(возвращает строку, полученную на основе каких-то из полей класса) и метод Equals, позволяющий сравнить два объекта такого класса. В NetBeans есть три пути создания подобных конструкций:
1. Создать Java класс, прописать все поля и методы и указать его в списке IncludeEntityClasses в соответствующем Persistence Unit.
2. Создать Entity class, и прописать в нем поля, а также при необходимости исправить методы, сгенерированные по умолчанию. В список он будет внесен при создании.
3. Выбрать Create Entity Class from Database. В этом случае после указания базы данных и нужной таблицы все поля и методы будут сгенерированы автоматически. Кроме того, автоматически будут созданы именованные запросы к серверу для выборки по определенному полю.
Пример Entity class, созданного третьим способом
В любом случае в результате мы получаем класс, в объекты которого NetBeans сможет помещать результаты наших запросов к серверу. Как именно эти запросы будут отправляться, будет разобрано в следующем пункте.
Плюсы: Классы можно создавать, не затрачивая усилий, настройки подключений выполняются в графической оболочке, а не посредством программирования.
Минусы: Классы почти всегда требуют редактирования, хотя бы в методах Equal и toString, настройки подключения производятся на уровне компиляции – изменить их по ходу выполнения программы отнюдь не просто.
Entity manager и Query
Entity manager добавляется командой Add From Palette > Java persistence > Entity Manager. Если не залезать глубоко, единственное что ему требуется это указание на Persistence Unit, с которым он будет работать. Именно Entity Manager будет отправлять запросы на указанный сервер, обновлять данные, сохранять новые значения на сервере etc
Окно настройки Entity Manager
Еще одним полезным свойством этого компонента является то, что Persistence Unit можно задавать относительно: например можно указать, что его имя возвращается неким методом некоего класса, что позволяет нам использовать всего один такой компонент для обслуживания всех подключений в программе. К сожалению, есть у него и недостатки – и главный из них в том, что кроме простых задач, вроде удаления, добавления и обновления данных он более ни на что не способен. Ну, разве что, кроме того, что через него передаются запросы (Query). И именно они, наконец, дают те же возможности, что и программирование через statements.
Итак, Query по сути это некий заранее созданный SQL скрипт, который может иметь несколько задаваемых параметров (для заполнения используется метод setParameter), то есть он аналогичен preparedStatement, но вместо имени подключения получает при создании имя Entity Manager, который будет обрабатывать его запросы. Также отличия Query в том, что он может возвращать не только все результаты, но и выполнять чуть более сложные действия (возвращать только один определенный результат, etc). Именно через этот компонент будут осуществляться все выборки, сортировки, в общем, все то, что должна уметь солидная программа, работающая с СУБД. За более подробной информацией о Entity manager и Query см. справку по этим двум компонентам – в данной статье дается лишь обзор важных компонентов, а не описание их параметров и методов.
Окно настройки Query
Плюсы: Простые операции не требуют написания SQL скриптов, осуществляясь за счет методов Entity manager, он же берет на себя вспомогательные операции, вроде создания таблицы, в случае ее отсутствия. Query же в свою очередь обеспечивают необходимую гибкость и дополнительные возможности.
Минусы: По сути – всего лишь аналог Statements, только связанный с Persistence Unit, никаких принципиально новых дополнений не вносит..
2. Прочие полезные особенности NetBeans IDE
Кроме возможностей касающихся непосредственно работы с СУБД NetBeans предоставляет ряд функций, полезных при написании любой программы. Здесь будут приведены самые интересные из них:
Ценнейшие из возможностей NetBeans, полезные при любой работе, включая работу с СУБД, находятся в меню Refactor:
1. Rename, Move, Copy, Delete – эта группа команд позволяет больше не беспокоится, что после перемещения, переименования или удаления класса появится несколько десятков ошибок, связанных с забытыми обращениями по старому имени или адресу. NetBeans сам отыщет все упоминания этого класса, метода или поля и внесет все необходимые исправления.
2. Encapsulate fields – нужны методы set/get для 20-30 полей? Refactor создаст их за доли секунды, да еще и изменит права доступа к полям при необходимости
3. Change Method Parameters – просто графический интерфейс для ввода параметров метода. Порой весьма удобен.
А также многое, многое другое. Если же говорить в целом смысл пунктов меню Refactor -автоматическое выполнение рутинных операций по изменению кода и добавление к таким операциям графического интерфейса. В некоторых случаях такой подход излишен, в других просто необходим.
Окно Encapsulate fields
Копирование класса через Refactor
Ситуации, когда нам просто нужно чтобы значение какого-то конкретного поля всегда равнялось значению другого поля другого объекта, а еще лучше они были бы взаимосвязаны, встречаются не так уж редко. Для быстрого решения такой проблемы используется т. н. Binding – связывание. Достаточно лишь указать объект, с которым осуществляется связь и все: остальное сделает NetBeans.
Именно так реализовано помещение данных из результатов выполнения запросов в таблицу, в CRUD программе создаваемой NetBeans по умолчанию. И так же происходит перемещение данных из выбранной строки таблицы в поля редактирования.
Это мощный инструмент, позволяющий не просто синхронизировать данные, но еще и преобразовывать их (через специальный конвертер), а также производить над ними действия. По сути, любую программу, получающие набор данных на вход обрабатывающую его, без операций выбора, и возвращающую результат в ответ, можно реализовать через несколько текстовых полей, где поля выхода связаны через Bind с полями входа. И при этом выходные значения будут обновляться в реальном времени! Но нам более интересен тот факт, что связывать можно не только поля с полями внутри проектов, но еще и поля таблицы с таблицами баз данных. То есть заставить JTable отображать содержимое таблицы базы данных можно даже без знания всех вышеупомянутых средств, было бы подключение – все остальное NetBeans создаст самостоятельно
Добавление связи с базой данных через Binding
NetBeans предоставляет широкий спектр возможностей, призванных упростить жизнь программиста. Это в первую очередь касается взятия на себя рутинных задач и замены процесса написания кода, работой в графических интерфейсах. Но при этом важно помнить, что любой графический интерфейс менее гибок и обладает меньшими возможностями, нежели написание программы вручную, а внесение исправлений в код, сгенерированный автоматически зачастую оказывается сложнее, чем работа с чистого листа. Тем более в NetBeans автоматический код редактированию не подлежит – добавить можно, а вот убрать или исправить нельзя. С другой стороны возможности создавать и редактировать базы данных без использования сторонних программ заслуживают как минимум уважения – в отличие от других функций эта будет полезна в любых обстоятельствах, хотя бы тем, что облегчает отладку программ, работающих с СУБД, позволяя изучить содержимое базы данных, прямо из среды разработки.
Источник: ai-09.blogspot.com
Создаем игру с помощью визуальных средств NetBeans. Урок 1 – NetBeans Visual Designer
Бесплатная кросплатформенная среда разработкиNetBeans отлично подходит для созданияMIDlet приложений. Этот цикл из четырех уроков познакомит Вас с визуальными средствами разработки J2ME приложений. Вы создадите аркадную игру, используяNetBeans Visual Designer иNetBeans Game Builder. Схема экранов игры приведена на рисунке