Шлях обробки запиту в фреймворку joomla

Налагоджуючи помилки або виробляючи розробку для Joomla, корисно зрозуміти основний «Шлях виконання» в Joomla! (Execution Path). «Шлях виконання» - список викликів функції, які зроблені під час кожного запиту сторінки. У той час як вимоги зміняться від запиту до запиту (в залежності від параметрів рядка запиту, cookies, інформації сеансу, і т.д.), основний шлях обробки запиту - той же самий кожен раз. Ми опишемо основи і надамо інформацію, щоб допомогти розробникам знаходити інформацію для своєї певної ситуації.

Майже всі запити до Joomla! починають оброблятися в index.php файлі знаходиться в корені инсталлированной Joomla. Запити в адміністративній частині (back-end) йдуть в ... / administrator / index.php файл, але подібні запитам з front-end. Є також деякі випадки, де певні сторінки можуть бути викликані безпосередньо, але в більшості випадків, index.php - відправна точка.

... / index.php
Наступний код - міра з безпеки і визначає змінну, яку інші сторінки використовують для перевірки можливості прямого виклику. Всі інші php-файли, які не можна викликати безпосередньо в Joomla! повинні включати перевірку цієї змінної у верхній частині файлу:

Потім ми встановлюємо значення деяких інших змінних і включаємо / требуем_включіть деякі файли. Код профілювальник (PROFILER) використовується, якщо у вас є система налагодження (Debug System), яка включена до глобальної конфігурації, і використовується, щоб роздрукувати зневадження внизу сторінки. Ми можемо бачити більше запитів і можемо проігнорувати їх:

Виклик методу відправки (dispatch method) один з важливих. Це - точка входу в компонент, який був затребуваний. Кожен запит до Joomla! закінчується тим, що викликається певний компонент схожими шляхами. Для прикладу, давайте припустимо, що ми запитуємо наступний URL:
/index.php?option=com_content#038;view=article#038;id=39#038;Itemid=37

Joomla! виконає наступний файл компонента: ... / components / com_content / content.php
Для компонента com_somethingelse, Joomla! виконає файл: ... / components / com_somethingelse / somethingelse.php

У підсумку ми формуємо результуючий відповідь користувачеві:

Метод віддає результат запиту (render method) - ще один важливий метод. Цей метод скаже об'єкту JDocument виконати (надати) себе і результат буде застосований в шаблоні і модулях. Ця тема буде також порушена в інший майбутньої статті, яка буде в кінцевому рахунку пов'язана з цією.