Как работает Ирокез 0.7

Сначала сервер получает GET запрос на адрес - .../ru/a/b/c/

Затем мод_реврайт перепишет его в вид - /?sys_lang=ru&path=a/b/c

Теперь в дело вступает загрузчик - /index.php


Сначала подключает необходимые файлы, затем анализирует $sys_lang и $path - это язык и путь, если язык не указан или не находится в списке существующих языков, то присваивается язык по умолчанию путь - это вложение разделов, т.е. a/b/c -по идее должен обращаться к разделу c, которые находится в разделе b, который в свою очередь находится в разделе a если такой раздел существует (разделами управляет класс ICM_Section) то у раздела узнается шаблон, шаблон передается на обработку шаблонизатору (класс ICM_TML), который выбирает из шаблона теги ({заключенные в фигурные скобки}) и выполняет соответствующие инструкции, самый главный тег - {content} это содержание страницы, т.е. на его место выводится основная изменяемая часть (статья, новости, галлерея, итд), у раздела узнается модуль, инструмент и скрипт, определено может быть только что то одно из них

  • модуль - это совокупность скриптов, которые находятся в папке /modules/, они управляют данными и по сути составляют основу админки
  • инструменты - это вспомогательные скрипты для модулей (например разные попап окощечки итд), находятся в папке /tools/
  • скрипты - это то что будет выводить инфу из базы пользователя, посетителям сайта, находятся в /scripts/

Когда определяется что из этого имеется у раздела, то подключается соответствующий скрипт/модуль/инструмент и передается управление ему

Самый простой случай - это скрипт, тут может быть что угодно, самый простой скрипт -

Сойдет за скрипт и на месте {content} будет выводиться hello world

С модулем дело обстоит немного сложнее, модули должны быть написаны по общему шаблону, если конечно не хочешь написать свой шаблон модулей, что я лично делал только один раз

Но хорошая новость в том, что знать как работают модули совершенно не нужно, нужно только разобраться в одном XML файле - конфиге модуля, из него управляется всей работой модуля

Самая фишка ирокеза в том что модули создаются за пять секунд

Вот основные шаги:

  1. создание таблицы в БД
  2. создание (а точнее копирование) класса для работы модуля
  3. создание (а точнее копирование) модуля
  4. правка XML конфига
  5. дописывание языкового файла

После того как скрипт/модуль/инструмент закончат работу, весь текст который они выведут, будет поймат через отлов буферизации и вставлен обратно в шаблон на место тега {content}

Конфиг находится в /modules/имя модуля/configs/data.conf

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

Если сайт простой, то разработчику всего лишь требуется, взять верстку сайта и сделать из нее шаблон, распихать что нужно (имею ввиду HTML код) по скриптам и расфасовать картинки по папочкам, чуть поправить основные конфиги.. все.

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

P.S.: В идеале весь HTML должен быть отделен от программной части, т.е. весь HTML должен быть в шаблонах, к сожалению в ирокезе это не так... старания, конечно, ведутся, и в новой версии так и будет, но пока что куски HTML остались в обработчике шаблонов и скриптах

Tags: irokez 0.7 how works