Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
| = Donate = |
Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
defines.php framework.php
configuration.php. Редирект на скрипт инсталляции в случае неудачи. import.php configuration.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') 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
Будьте добры напишите пожалуйста такую же статью про версию 1.7, и ещё интересует, где и как в этой цепочке обрабатывается JREquest и данные отправленной формы
По большому счету разница между 1.5 и 1.7 не очень большая. Возможно некоторые классы объявлены в других местах.
То что вас интересует происходит при диспетчеризации (JSite::dispatch), которая обычно вызывает метод(ы) из компонента. Например конструктор контроллера у текущего компонента.
Обработка форм ложится на плечи самого компонента, который отвечает за эту форму. Там, как вы уже верно подметили будет использоваться класс JRequest, который отвечает за работу с внешними данными (GET, POST, ...).
Но стоит заметить, что сама Joomla будет ориентироваться на некоторые переменные, например такие как (в порядке убывания важности) "Itemid", "option", "task", "view", "cmd". В зависимости от компонента набор этих переменных может быть разный.
Да. Давно пора на joomla 1.7 переходить
Добрый день! Не подскажите, где почитать про код Joomlы?