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

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

    Будьте добры напишите пожалуйста такую же статью про версию 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  ↓     ответ

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

  • Мебельный интернет магазин
    Мебельный интернет магазин
    11 Ноября 2017, 23:05
     ↑  +1  ↓     ответ

    Вас приветствует Волгоградский интернет-магазин "Где Мебель"!

    Планируете купить мебель gde-mebel.com/kupit/ в Волгограде или Волжском?

    В современном мире есть масса поводов обзавестись новой мебелью.

    У вас родился малыш? Вам конечно же нужна детская кроватка. Купили новую квартиру? Имеет смысл купить и мебель, если старая, особенно после переезда, уже не может сохранить былого внешнего вида. Сыграли свадьбу? Вам или вашей второй половинке может захотеться купить и новую кровать, и шкаф, и тумбочки с комодами - ведь теперь это - ваш общий дом. И для одного из вас - новый дом.

    Так или иначе, но без мебели, которая бы радовала ваш глаз, немыслимо слово "уют". И именно по домашнему убранству и обстановке о нас нередко судят наши гости, те, кого мы приглашаем к себе в дом.

    Подобрать мебель, которая бы с одной стороны идеально вписывалась в Ваш интерьер, радовала глаз и при этом не тяготила кошелёк - не так просто. В каких-то магазинах - это, как правило, крупные торговые мебельные сети - заоблачные цены. И заоблачные они не потому, что мебель сделана их каких-то особенных материалов или по тому, что там продается очень хорошая мебель. Завышенные цены в крупных мебельных магазинах обусловлены огромными расходами, которые эти магазины несут. На аренду и содержание торговых площадей, на оплату труда десятков сотрудников, без которых не мыслим ни один крупный торговый зал, телевизионную и баннерную рекламу, а так же множество других расходов, неизбежно включаемых магазинами в стоимость своих товаров. Интернет магазин "Где Мебель" к таковым не относится. Нам нет необходимости делать высокую наценку, ведь наши собственные операционные расходы в разы ниже, чем у обычных магазинов. Соответственно, значительно ниже и цена, по которой можно приобрести мебель в нашем интернет магазине в Волгограде.

    Так же есть магазины, где торгуют мебелью неизвестного производства. Такие магазины, хотя и несут огромные расходы на торговые залы и персонал, компенсируют это тем, что в их ассортименте представлена откровенно дешёвая мебель, и хотя купить её можно в этих магазинах по разумным ценам, покупатель при этом жертвует и качеством, и долговечностью, и надежностью.

    В конечном счёте такие магазины жертвуют своей репутацией, ведь имея торговый зал в "проходном" месте, репутация как таковая может быть кому-то менее важна, чем прибыль.

    Интернет-магазин "Где Мебель" не относится и к "таким" магазинам, ведь для нас главное - чтобы наши клиенты оставались довольны, имели возможность купить качественную мебель и возвращались к нам снова. Ведь хорошая репутация - это тоже своего рода реклама. И мы ценим своё торговое имя, свою репутацию и своих клиентов!

    По этому вся мебель, которую можно купить в нашем интернет-магазине закупается только на крупнейших мебельных фабриках России и СНГ, произведена с соблюдением всех ГОСТов и имеет все необходимые сертификаты качества и соответствия.

    Онлайн каталог мебели gde-mebel.com/catalog/ нашего интернет-мгазина в г.Волгоград и г.Волжский - огромен. Мы предлагаем много мебели, предоставляя вам большой выбор мебели на любой вкус.

    Наш широкий ассортимент мебели позволяет вам найти всю мебель, которая вам требуется на одном сайте, не тратя время и силы на длительные поиски. Ведь при низких ценах и большом ассортименте мы можем уверенно и легко конкурировать с любыми интернет-магазинами и Волгограда, и Волжского, не уступая или даже выигрывая в качестве, и предлагая при этом весьма низкие и демократичные цены.

    Наш интернет-магазин работает уже давно, а значит нам не приходится ни тратиться на рекламу, ни нести каких-либо дополнительных расходов, включая их в стоимость мебели. Наши цены - действительно низкие цены на мебель в Волгограде и Волжском, и мы гордимся этим. А наш широкий ассортимент позволяет вам с лёгкостью найти всю мебель, которая вам требуется в дом или квартиру - в одном месте, всего лишь открыв наш интернет каталог, и имея возможность сделать заказ не более чем в несколько кликов.

    Интернет-магазин мебели "Где Мебель".

    Купить мебель в Волгограде недорого? Легко!

    Звоните! +7 (937) 083-10-10

    Мы помогаем создавать в вашем доме уют!

    gde-mebel.com/

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




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

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