порядок загрузки классов, библиотек, вызова функций в Framework Joomla

Инициализация Joomla

  • Включение: defines.php
  • Включение: framework.php
    • Проверка наличия configuration.php. Редирект на скрипт инсталляции в случае неудачи.
    • Включение: import.php
    • Включение: configuration.php
    • Установка параметра error_reporting
    • Включение классов совместимости со старыми версиями PHP
    • Если включена отладка сайта, то включается профайлер
    • Импорт joomla.application.menu
    • Импорт joomla.user.user
    • Импорт joomla.environment.uri
    • Импорт joomla.html.html
    • Импорт joomla.utilities.utility
    • Импорт joomla.event.event
    • Импорт joomla.event.dispatcher
    • Импорт joomla.language.language
    • Импорт joomla.utilities.string
  • Отметка для профайлера: afterLoad
  • Определение переменной $mainframe. Вызов JFactory::getApplication('site')
    • Создание экземпляра и его возврат. Вызов JApplication::getInstance
  • Инициализация приложения. Вызов JSite::initialise
    • Загрузка языковых файлов
    • Вызов parent::initialise
      • Первый вызов JFactory::getUser (инициализация объекта пользователя)
        • Импорт joomla.user.user
        • Создание сессии. Вызов JFactory::getSession
      • Установка редактора для пользователя
  • Импорт системных плагинов/мамботов. Вызов JPluginHelper::importPlugin('system')
  • Отметка для профайлера: afterInitialise
  • Событие: onAfterInitialise

Авторизация Joomla

  • Вызов JSite::route
  • Вызов JSite::authorize
    • Проверка уровня доступа текущего пункта меню. Редирект в случае неудачи (не зарегистрирован или не хватает прав доступа).
  • Отметка профайлера: afterRoute
  • Событие: onAfterRoute

Работа компонента Joomla

  • Обработка компонента: Вызов JSite::dispatch
  • Отметка профайлера: afterDispatch
  • Событие: onAfterDispatch

Отрисовка страницы Joomla

  • Отрисовка страницы: Вызов JSite::render
  • Отметка профайлера: afterRender
  • Событие: onAfterRender
  • Вывод страницы: Вызов JResponse::toString