GlisWeb framework
database del framework

Descrizione del layer di database del framework.

introduzione

Il framework è in grado di operare su database multipli, anche di diverso tipo, sia per gestire i dati di lavoro sia per recuperare informazioni necessarie al proprio funzionamento. In particolare, il database che contiene i dati di funzionamento del framework è detto database di supporto, mentre gli altri sono detti database di lavoro.

il database di supporto

Il database di supporto contiene dati strutturali come lingue, geografia, fusi orari, unità di misura, valute, e così via; anche se non è indispensabile dal momento che il framework può funzionare anche senza, svolge comunque un ruolo importante e se è possibile si consiglia sempre di installarlo.

La differenza principale fra il database di supporto e i database di lavoro è che il primo contiene informazioni non modificabili tramite l'interfaccia del framework, le informazioni contenute nelle tabelle di supporto sono ritenute parte del framework stesso e la loro modifica è considerata un aggiornamento; i database di lavoro invece sono pensati proprio per essere gestiti tramite le interfacce del framework.

Una caratteristica fondamentale delle tabelle di supporto è quella di integrare array già presenti nel framework, aggiungendo dati e informazioni. Si veda ad esempio l'array $cf['localization']['languages'] prima e dopo il file _190.localization.php. La struttura dei dati nel database non corrisponde sempre esattamente a quella degli array del framework, ma si è cercato di tenerle il più simili possibile per semplificarne la lettura e la gestione.

tabelle e view

Normalmente il framework prevede che le tabelle abbiano una vista corrispondente, identificata dallo stesso nome della tabella al quale si aggiunge il suffisso '_view'. Queste view hanno la funzione principale di semplificare l'accesso ai dati, e vanno costruite in base agli indici delle tabelle per massimizzare le performance. Le viste devono avere la colonna 'label', che viene utilizzata normalmente nella creazione dei selettori a tendina assieme al campo 'id'.

aggiornamento del database