Questa è una vecchia versione del documento!
OpenDCN è basato su CakePHP, un framework open-source per lo sviluppo di applicazioni Web in PHP.
CakePHP è stato scelto in quanto in possesso di numerose caratteristiche in grado di favorire lo sviluppo di applicazioni web di buona qualità.
In particolare:
CakePHP consente di sviluppare applicazioni web basate sul paradigma MVC (Model – View - Controller). Si tratta di uno schema generale di progettazione del software che aiuta a separare logicamente il codice, facendolo più riusabile, mantenibile e solitamente migliore.
Seguendo il paradigma MVC un’applicazione si struttura in tre parti: il modello, la vista e il controllo. MVC è stato originariamente sviluppato per schematizzare il tradizionale ruolo input, processo e output all’interno del mondo delle interfacce utente.
\\Input → Processo → Output
\\Controllo → Modello → Vista
L’input dell’utente, il modello del mondo esterno (processo) e il feedback visuale sono separati e gestiti da oggetti rispettivamente di controllo, modello e vista.
Il controllo interpreta gli input del mouse e della tastiera dell’utente e mappa queste azioni in comandi che vengono inviati al modello e/o alla vista per effettuare le azioni appropriati.
Il modello gestisce uno o più elementi di dati, risponde alla query con il proprio stato, e risponde alle istruzioni per cambiare lo stato.
La vista gestisce la visualizzazione sulla pagina web ed è responsabile per la presentazione dei dati all’utente attraverso la combinazione di grafica e testo.
Il Controller di CakePHP gestisce le richieste dal server. Prende l’input dell’utente (URL e dati POST), esegue la logica applicativa, usa i Modelli per leggere e scrivere i dati dai database e da altre sorgenti, e infine, invia i dati in output al file di visualizzazione appropriato.