RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Порядок работы Joomla Framework при загрузке страницы

порядок загрузки классов, библиотек, вызова функций в 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

 

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

  • Включение: 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

 

Авторизация

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

 

Обработка

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

 

Отрисовка

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

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

 

* Включение: defines.php

* Включение: framework.php

o Проверка наличия configuration.php. Редирект на скрипт инсталляции в случае неудачи.

o Включение: import.php

o Включение: configuration.php

o Установка параметра error_reporting

o Включение классов совместимости со старыми версиями PHP

o Если включена отладка сайта, то включается профайлер

o Импорт joomla.application.menu

o Импорт joomla.user.user

o Импорт joomla.environment.uri

o Импорт joomla.html.html

o Импорт joomla.utilities.utility

o Импорт joomla.event.event

o Импорт joomla.event.dispatcher

o Импорт joomla.language.language

o Импорт joomla.utilities.string

* Отметка для профайлера: afterLoad

* Определение переменной $mainframe. Вызов JFactory::getApplication('site')

o Создание экземпляра и его возврат. Вызов JApplication::getInstance

* Инициализация приложения. Вызов JSite::initialise

o Загрузка языковых файлов

o Вызов parent::initialise

+ Первый вызов JFactory::getUser (инициализация объекта пользователя)

# Импорт joomla.user.user

# Создание сессии. Вызов JFactory::getSession

+ Установка редактора для пользователя

* Импорт системных плагинов/мамботов. Вызов JPluginHelper::importPlugin('system')

* Отметка для профайлера: afterInitialise

* Событие: onAfterInitialise

 

 

[править]

Авторизация

 

* Вызов JSite::route

* Вызов JSite::authorize

o Проверка уровня доступа текущего пункта меню. Редирект в случае неудачи (не зарегистрирован или не хватает прав доступа).

* Отметка профайлера: afterRoute

* Событие: onAfterRoute

 

 

[править]

Обработка

 

* Обработка компонента: Вызов JSite::dispatch

* Отметка профайлера: afterDispatch

* Событие: onAfterDispatch

 

 

[править]

Отрисовка

 

* Отрисовка страницы: Вызов JSite::render

* Отметка профайлера: afterRender

* Событие: onAfterRender

 

* Вывод страницы: Вызов JResponse::toString

Комментарии (5) Добавить комментарий
  • guest
    guest
    20 Сентября 2011, 15:35
     ↑  +1  ↓     ответ

    Будьте добры напишите пожалуйста такую же статью про версию 1.7, и ещё интересует, где и как в этой цепочке обрабатывается JREquest и данные отправленной формы

    • smet.denis
      smet.denis (админ)
      02 Октября 2011, 17:01
       ↑  -1  ↓     ответ

      По большому счету разница между 1.5 и 1.7 не очень большая. Возможно некоторые классы объявлены в других местах.

      То что вас интересует происходит при диспетчеризации (JSite::dispatch), которая обычно вызывает метод(ы) из компонента. Например конструктор контроллера у текущего компонента.

      Обработка форм ложится на плечи самого компонента, который отвечает за эту форму. Там, как вы уже верно подметили будет использоваться класс JRequest, который отвечает за работу с внешними данными (GET, POST, ...).

      Но стоит заметить, что сама Joomla будет ориентироваться на некоторые переменные, например такие как (в порядке убывания важности) "Itemid", "option", "task", "view", "cmd". В зависимости от компонента набор этих переменных может быть разный.

  • Алекс
    Алекс
    30 Сентября 2011, 00:39
     ↑  -4  ↓     ответ

    Да. Давно пора на joomla 1.7 переходить

  • Валерий
    Валерий
    28 Октября 2011, 02:32
     ↑  -1  ↓     ответ

    Добрый день! Не подскажите, где почитать про код Joomlы?

    • Марат
      Марат
      01 Апреля 2013, 19:51
       ↑  -2  ↓     ответ

      В самом коде Джумлы) Сам так смотрел по списку выше

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.