Система Energine написана на языке программирования PHP версии 5, работающего под управлением веб сервера Apache. Для хранения данных используется БД MySQL версии 4. Для преобразования данных используются технологии XML и XSLT. Клиентская часть написана на языке JavaScript, с использованием библиотеки MooTools.
Идеология
Рассмотрим подробнее основные принципы работы. Существует единственная точка входа в систему - основной контроллер, на который переадресовываются все запросы. Переадресация происходит с помощью модуля mod_rewrite сервера Apache. Контроллер разбирает строку URL, определяя какой из страниц она соответствует. Описание всех страниц (разделов) сайта хранится в БД. Затем определяется шаблон, по которому создана эта страница.
Шаблон страницы - XML
описание перечня компонентов, из
которых состоит страница.
Компонент - это РНР
объект, реализующий определенную
функциональность (вывод меню, формы
авторизации и т.д.) и выводящий
результат своей работы в виде XML
узла.
Определив какие именно компоненты находятся на запрошенной странице, контроллер запускает их на выполнение, собирая результаты их работы в единое XML дерево.
Результирующее дерево содержит полное описание страницы в XML формате. Внешний вид страницы описан в XSLT шаблонах. После исполнения xsl-преобразования мы получаем HTML код страницы, который и передается браузеру.