Приложение и Документ
Приложение (JApplication) в Joomla! это глобальный объект, который импользуется для обработки запроса. Двумя классами приложений, которыми мы здесь интересуемся, являются классы JSite и JAdministrator. Joomla! использует JSite и JAdministrator, для обработки интерфейса посетителя и запросов к администраторскому интерфейсу соответственно. Эти классы приложений расширяют абстрактный базовый класс JApplication; большая часть функциональных возможностей JSite и JAdministrator подобны.
Объект Документ (Document) в Joomla! это глобальный объект, используемый для буферизации ответа. В Joomla! используется несколько объектов документов: HTML, PDF, RAW, FEED, и ERROR. Документ HTML используется для генерации XHTML кода страниц из шаблонов сайта. Документ PDF генерирует контент в как файл PDF. Документ RAW позволяет компонентам выводить данные "сырыми", без дополнительного форматирования. Документ потока RSS (feed) используется чтобы генерировать потоки RSS новостей. Документ ERROR генерирует страницы ошибок.
Когда установленные расширения Joomla! выводят данные, они добавляются в объект Документ. Это позволяет нам изменять состав вывода до момента его отправки пользователю; например, мы можем добавить ссылку на файл JavaScript в заголовке документа в почти любом месте своего приложения или шаблона.
Объект Приложение (JApplication) всегда хранится в переменной $mainframe. Объект приложения - глобальная переменная, к которой можно получить доступ изнутри функций и методов, объявляя $mainframe глобальный:
/**
* Pass-through method to check for admin application.
*
* @access public
* @return boolean True if application is JAdministrator
*/
function isAdmin()
{
global $mainframe;
return $mainframe->isAdmin();
}
В отличие от приложения, чтобы получить доступ к глобальному объекту Document мы используем статический JFactory::getInstance ():
$document =& JFactory::getDocument();
