Framework — каркас программной системы (или подсистемы). Может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта. Обычно объединение происходит за счёт использования единого API. Application - это глобальный объект, отвечающий за процессинг запроса. Два класса этого объекта, которые нам интересны, это JSite и JAdministrator. Joomla! использует эти классы для выполнения запросов к фронт-енду и к бэк-енду соответственно. Классы приложения расширяют базовый абстрактный класс JApplication; бОльшая часть функциональности JSite и JAdministrator совпадает.
Документ — глобальный объект, используемый для буферизации запроса. Когда мы выводим данные в наших расширениях, они добавляются в Документ. Это дает возможность изменять вывод перед отправкой. Читать далее →