Что такое поток выполнения Joomla, после того, как запрос достигает index.php до окончательного вывода в браузере?


8

Исходя из этого: как работают шаблоны и загружают файлы css / js? Процесс создания сайта с Purity III

Цитата:
.... Я должен представить свой веб-сайт завтра, и меня могут спросить "откуда взялся контент?" и я не могу ответить, потому что сам не понимаю.

Что произойдет, если я позвоню на сайт? В файле index.php есть код php, но я не могу найти место, где остальная часть веб-сайта "вызывается" или что-то в этом роде ....

а также о типе вопросов, подобных этому: Где находятся файлы Joomla

Я решил создать этот Q / A, чтобы справиться со всеми подобными вопросами. Любой, кто хотел бы внести свой вклад, чтобы сделать это солидным вики-постом сообщества, приветствуется.

Ответы:


13

Ответ на задание
1. Ссылка на ресурсы для начинающих и начинающих
2. Об архитектуре
Joomla 3. Процесс выполнения Joomla - как работает Joomla
4. Дополнительные ресурсы

1. Введение для начинающих

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

Многие новички, обладающие некоторыми знаниями по классическим статическим html и css, имеют один и тот же общий вопрос / ожидание: как редактировать свои файлы / контент так, как они видят его в своем браузере.

Однако то, как Joomla работает за кулисами, намного сложнее, чем редактирование html-файла, и для его полного понимания необходимы знания и опыт программирования.

В качестве краткого ответа: не ожидайте, что откроете приложение FTP / File manager и найдете файл с именем:, myArticle.htmlили index.htmlкоторый позволит вам редактировать его напрямую или изменить внешний вид html-элементов вашей страницы.

Для начала я бы предложил сначала изучить основы Joomla и как управлять им из бэкэнда. Постепенно будет получено больше знаний и опыта.

Ресурсы для начинающих

Тема с полезными ресурсами и учебными пособиями может быть найдена здесь:
Учебные пособия для начинающих по Joomla - Как начать с Joomla?


2. Об архитектуре Joomla

Joomla - это больше, чем современная CMS, построенная на PHP. Это продвинутый веб-проект с многоуровневой архитектурой, который включает в себя:

  • Рамки Joomla -включая 3 - библиотеки , что структура опирается на и плагин , которые расширяют рамки.
  • Отдельные веб-приложения, такие как сайт администратора, интерфейсный сайт, установка.
  • Слой расширений (модули, компоненты, шаблоны), которые расширяют каркас Joomla и приложения.

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


3. Простое и краткое описание цикла выполнения Joomla - как работает Joomla

Когда вы index.phpпереходите на сайт Joomla (интерфейсное приложение JSite), начинается новый цикл выполнения , который включает в себя:

  • Важные включает в себя файлы, которые определяют КОНСТАНТЫ приложения , которые широко используются в приложении и его расширениях.
  • Загрузка инфраструктуры Joomla и всех ее основных классов , необходимых для работы приложения в будущем, - платформа также проверяет, есть ли файл конфигурации на месте, или должна перенести нас в папку установки для новой установки Joomla ,
  • Применение объект создается и инициализируется , и состояние сеанса обрабатывается (новый или существующий сеанс).
  • Конфигурации файл загружается - что дает также доступ к базе данных.
  • Маршрутизатор называется. Маршрутизатор отвечает за перевод URL-адресов в ассоциативный массив команд и наоборот. Эти команды будут использоваться в качестве параметров URL - $_GETадреса и отправляться в PHP SuperGlobal для создания полного URL- адреса . optionЭлемент этого массива является тот , который определяет компонент , который должен быть выполнен.
  • При выполнении компонента объект документа создается. Документ хранится в памяти и содержит данные, которые будут возвращены позже в браузере. Тот факт, что он хранится в виде буфера в памяти, позволяет размещать и манипулировать контентом в нем без определенного порядка и из любых мест. Выбранный шаблон был сохранен в конфигурации. Кроме того, стоит отметить, что единственное, что делает Joomla, - это запускает компонент. Что еще должно произойти на этом этапе - это работа компонента.
  • Затем следует рендеринг страницы , где наряду с данными компонентов из предыдущего шага модули и уведомления также визуализируются и размещаются в своих позициях шаблона.
  • Последний шаг - вывести страницу в браузер .
  • Важно отметить, что на различных этапах вышеуказанного цикла выполнения существуют вызываемые точки Plugin Events , которые позволяют различным событиям вмешиваться и расширять функциональность Joomla.

Более подробный список потоков выполнения с событиями плагина документирован здесь: Joomla Application Execution Flow


4. Дополнительные ресурсы:


1

Небольшой вклад, полный список Joomla! События плагина .


маленький, но полезный
FFrewin

может быть, вы могли бы написать самые важные части этой страницы здесь
FFrewin

@FFrewin Я бы хотел, но в основном это длинный список ссылок на события каждого плагина! Я пытаюсь найти своего рода «временную шкалу» всех событий в этом списке, но я не могу найти в этом много информации, я наткнулся на ваш ответ здесь после большого количества поисков в Google и потока выполнения приложений Joomla, где упоминаются некоторые из них. Системной группы События, но не так много обо всех остальных.
Грубер

@FFrewin также был бы полезен в качестве краткого описания всех различных групп событий плагинов, но я не нашел много в документах Joomla (хотя я признаю, что моему GoogleFu немного не хватает в наши дни, не знаю, почему, может быть, жара: P)
Грубер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.