Joomla è due classi: JSite e JAdministrator
ti incollo un pezzetto di un tutorial che ho fatto:
L'applicazione è un'oggetto globale usato per processare una request. Le classi dell'applicazione interessate sono JSite e JAdministrator, che processano rispettivamente il frontend e il backend.
Le classi Application estendono la classe astratta base JApplication, infatti molte delle funzionalità di JSite e JAdministrator sono le stesse.
Il document è un'oggetto globale usato per il buffer (non la cache) della response. I tipi di document sono diversi: html, pdf, raw, feed e error. Il document permette ai componenti l'output dei dati; il document html è gestito dal template che si occupa del render della pagina in formato xhtml.
Proprio il fatto di gestire separatamente l'output delle estensioni, aggiungendolo al document in un secondo tempo permette di modificare l'output prima che questo venga inviato al render.
La variabile $mainframe contiene l'oggetto applicazione che è globale, al quale si può avere accesso attraverso le sue funzioni e metodi dichiarando la variabile globale $mainframe.
M.
dimenticavo... il tuo esempio non chiama una classe ma l'oggetto di una classe già istanziata