Difference between revisions of "Man Tecnico:Architettura applicativo"

From CDG Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
Per poter gestire la struttura estesa del framework sono state apportate alcune modifiche rispetto all’architettura prevista, in particolare sono state create directory per la gestione dei moduli applicativi e delle classi del core e gestita la logica di caricamento attraverso i files common.
 
Per poter gestire la struttura estesa del framework sono state apportate alcune modifiche rispetto all’architettura prevista, in particolare sono state create directory per la gestione dei moduli applicativi e delle classi del core e gestita la logica di caricamento attraverso i files common.
  
La prima directory creata ad hoc nella root del sito è “classes”, che contiene tutte le classi utili al funzionamento del core, che vengono incluse attraverso conf/common.php. La prima classe inclusa in ordine di caricament è "Entity", che consiste in un ORM molto rudimentale per la gestione veloce delle operazioni comuni sul db e che può essere estesa da altre classi. In seguito vengono automaticamente incluse tutte le classi presenti nella directory. Per utilizzare una nuova classe per il core è sufficiente quind icrearla all’interno della directory senza dover implementare nulla alivello di codice. La lettura delle classi avviene solamente nella directory “classes”, non è prevista quindi la creazione di sottodirectory.
+
La prima directory creata ad hoc nella root del sito è “classes”, che contiene tutte le classi utili al funzionamento del core, che vengono incluse attraverso conf/common.php. La prima classe inclusa in ordine di caricament è "Entity", che consiste in un ORM molto rudimentale per la gestione veloce delle operazioni comuni sul db e che può essere estesa da altre classi. In seguito vengono automaticamente incluse tutte le classi presenti nella directory. Per utilizzare una nuova classe per il core è sufficiente quindi ricrearla all’interno della directory senza dover implementare nulla a livello di codice. La lettura delle classi avviene solamente nella directory “classes”, non è prevista quindi la creazione di sottodirectory.
  
 
Tutte le funzionalità del core sono contenute nella directory “contents”, mantenendo coerenza con il comportamento standard del framework per gli applicativi sviluppati con esso.
 
Tutte le funzionalità del core sono contenute nella directory “contents”, mantenendo coerenza con il comportamento standard del framework per gli applicativi sviluppati con esso.

Latest revision as of 14:23, 28 September 2020

L’architettura dell’applicativo estende la struttura standard di ff con alcune variazioni. La modularità della soluzione prevede infatti che le funzionalità di ogni modulo vengano mantenute separate anche a livello di struttura dei file su disco.

Per poter gestire la struttura estesa del framework sono state apportate alcune modifiche rispetto all’architettura prevista, in particolare sono state create directory per la gestione dei moduli applicativi e delle classi del core e gestita la logica di caricamento attraverso i files common.

La prima directory creata ad hoc nella root del sito è “classes”, che contiene tutte le classi utili al funzionamento del core, che vengono incluse attraverso conf/common.php. La prima classe inclusa in ordine di caricament è "Entity", che consiste in un ORM molto rudimentale per la gestione veloce delle operazioni comuni sul db e che può essere estesa da altre classi. In seguito vengono automaticamente incluse tutte le classi presenti nella directory. Per utilizzare una nuova classe per il core è sufficiente quindi ricrearla all’interno della directory senza dover implementare nulla a livello di codice. La lettura delle classi avviene solamente nella directory “classes”, non è prevista quindi la creazione di sottodirectory.

Tutte le funzionalità del core sono contenute nella directory “contents”, mantenendo coerenza con il comportamento standard del framework per gli applicativi sviluppati con esso.

Per le funzionalità che non fanno parte del core ma che lo estendono è stata poi creata una directory "moduli" che contiene tutti i moduli applicativi per le funzionalità aggiuntive. Tutte le sottocartelle della directory che contengono un file common.php e mod_config.xml (nomenclatura dei file personalizzabile da conf/common.php) vengono riconosciuti come tali, indipendentemente dal livello nell’albero delle directory. Per poter gestire questo comportamento anche il file .htaccess del framework è stato variato in modo che non sia possibile accedere direttamente da url ai file dei moduli. Tutti i file relativi ad un modulo (compresi css, immagini ecc) vengono inclusi nella directory del modulo stesso, che risulta trasparente al core. Per creare una nuova funzionalità sarà quindi sufficiente creare una directory all’interno di “moduli” o di una sua sottocartella, contentente i file del modulo. Nessun’altra operazione risulta necessaria.

Per gestire distribuzioni multiple dello stesso applicativo e poter mantenere la versione del codice generalizzata è stata modificato il file config per il caricamento della configurazione. Nel file è presente un array associativo indirizzo_applicativo=>nome_enviroment. Nella directory “enviroments” sono inclusi tutti i file php, nominati con il nome dell’enviroment, in cui sono previste tutte le configurazioni specifiche per ogni singolo ambiente.

Tutte le librerie vengono invece incluse utilizzate i metodi standard del framework.

Torna all'Indice del Manuale Tecnico