Пошаговое выполнение

Для примера рассмотрим прохождение по пути /news/items/42/12/phone

  1. Сначала путь разбивается на части (лексемы, но кому какое дело до терминологии?) - news,items,42,12 и phone.
  2. Далее в таблице pages (или иной, см. настройки) ищется запись с parent=0 и name="news" (name - код). Если не находится (или на ином другом шаге страница не найдена) - выбирается страница с name=e404 и переходим к шагу (5)
  3. Если находим - проверяем значение галочки ЧПУ. Не установлена. Теперь ищем запись в pages со значениямиВ parent=id_страницы_news и name="items"
  4. Если находим - В проверяем значение галочки ЧПУ. Если стоит - то поиск завершается, переходим к шагу (5), все последующие значения (42,12 и phone) попадают в глобальный массив $human_link. (42 под индексом 0, 12 под индексом 1, phone под индексом 2).
  5. Теперь ищем шаблон, выбранный для данной страницы. Если находим - выбираем его. Если не находим - выводим ошибку. Если нашли вместо шаблона значение "[наследуется]" - последовательно ищем выше по иерархии папок таблицы page нужный шаблон.
  6. Подключаем выбранный для страницы модуль по адресу /site/modules/код_выбранного_модуля/index.php, если его там нет - /engine/modules/код_выбранного_модуля/index.php, если и там нет - выводим ошибку, но не на экран, а в переменную-буфер.
  7. Далее два варианта. Либо мы подключаем вьюшку по адресу /site/views/templates/код_найденнго_шаблона/header.php, выводим значение буфера и подключаем вьюшку /site/views/templates/код_найденнго_шаблона/footer.php. Либо подключаем вьюшку /site/views/templates/код_найденнго_шаблона/index.php, внутрь котороый передаем переменную CONTENT с содержимым буфера. (Вместо site может быть папка engine.)
  8. Если аторизован администратор сайта и включен режим отладки - выводим содержимое глобального массива $_DEBUG (режим вкючается GET-ключем debug, отличным от 0, и выключается значением 0, только для авторизованных под админом пользователей). По-умолчанию в него собирается время генерации страницы и список всех SQL-запросов на странице.