Алгоритм (Архив)

Материал из Smart Core Wiki

Перейти к: навигация, поиск

ВНИМАНИЕ! эта статья требует доработки! информация на ней может быть не актуальной.

  1. Все запросы с помощью RewriteEngine перенаправляются в файл index.php.
  2. Считывается конфиг (config.ini) и в файле bootstrap.php утстанавливаются базовые константы.
  3. Запускается ядро (Kernel), в конструкторе которого происходит инициализация проекта:
    • Подключение к БД.
    • Выбор экземпляра сайта, основываясь на доменном имени.
    • Авторизация пользователя через куки.
    • Инициализация данных для шаблонизатора.
  4. Запуск метода ядра run(). Которой запускает последовательно все последующие методы.
  5. Парсинг строки запроса (также это действие можно сравнить с «роутингом» в других системах). Метод parser() разбирает строку запроса (URI) и собирает массив запрошенных папок ($parsed_uri), а также в случае, если часть запроса предназначена для какого-то модуля, то включает результат обработки парсера модуля.
  6. В случае если есть POST данные, запускается метод postProcessor(), по завершении которого выполняется редирект, чтобы небыло эффекта «висиячих» пост данных.
  7. Запуск метод buildNodesList() - принимает подготовленный парсером массив с папками ($parsed_uri) и собирает массив со всеми нодами ($this->nodes_list), которые входят в эти папки, учитывая наследованные ноды. Наследование вычисляется через блоки в которые прикреплены ноды. В свою очередь наследование блоков задаётся в таблице engine_blocks_inherit.
  8. На основании списка нод в $this->nodes_list запускается сборка модулей. Метод buildModulesData() обходит последовательно этот список и запускает модули с параметрами заданными в нодах, а результат работы модулей помещается в массив ЕЕ (Essential Elements).
  9. Когда все данные собраны и нахотятся в $this->EE, запускается шаблонизатор.
Личные инструменты
Пространства имён
Варианты
Действия
Основные разделы
Ссылки
Навигация
Инструменты