Clusit-Associazione Italiana per la Sicurezza Informatica
Il mio profilo su Linkedin
Il mio spazio su YouTube
Joomla Italia
Il mio profilo su vololibero.net
 
Album Picasa
 
Application e Document PDF Stampa E-mail
Joomla 1.5
Lunedì 02 Novembre 2009 09:56
classi application e documentL'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.
Ad esempio per verificare se l'applicazione è JAdministrator:
 function isAdmin()
{
global $mainframe;
return $mainframe->isAdmin();
}

Differentemente, l'applicazione, per accedere all'oggetto globale document usa il metodo statico JFactory::getInstance():
$document =& JFactory::getDocument();

Da notare l'operatore di assegnazione =& che assicura la creazione di una referenza all'oggetto globale document e non la creazione di un duplicato.

Tutte le request, siano esse backend o frontend, vengono fatte all'index.php presente nella root; per il backend la root della index.php sarà administrator/index.php.
Questi sono i due entry point dell'applicazione, questi e questi soltanto devono esserlo, non dobbiamo crearne di nuovi sviluppando le nostre estensioni, perchè si corre il rischio di malfunzionamenti, compromissione della sicurezza ed elusione di procedure indispensabili al corretto funzionamento.

Sul manuale a questo punto compare un utile flow chart che indica graficamente il processo di una request fino a diventare response, mostrando come viene gestita e quali sono le parti successive che entrano in gioco. E' un po' complicato e neppure corretto riprodurlo, ma fate riferimento al wiki ufficiale dove viene esposto.
 
 
Questo sito è dedicato alla mia ed altrui curiosità, come primordiale bisogno di conoscere, capire nella sua complessità ogni cosa. Questo sito è basato sul framework Joomla1.5.xx!. Ogni contenuto o script pubblicato è di libera consultazione e duplicazione purchè se ne citi la fonte. Clicca qui per votare