Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
architettura_generale_cakephp [25/03/2010 18:33] |
architettura_generale_cakephp [05/06/2013 17:08] |
||
---|---|---|---|
Linea 1: | Linea 1: | ||
- | ====== Architettura generale: cakePHP ====== | ||
- | |||
- | 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:\\ | ||
- | * Architettura Modello Vista Controllo (MVC)\\ | ||
- | * Componenti di Sicurezza, Sessioni e Gestione delle richieste\\ | ||
- | * Validazione incorporata\\ | ||
- | * Template veloci e flessibili (con possibilità di richiamare funzioni PHP)\\ | ||
- | * Strumenti per l’utilizzo di funzionalità AJAX, Javascript, Form HTML e altro\\ | ||
- | * Lista di controllo degli accessi flessibile\\ | ||
- | * Gestione flessibile della cache delle viste\\ | ||
- | * Facilità di integrazione con Apache\\ | ||
- | * Compatibilità con PHP4 and PHP5\\ | ||
- | * Integrazione CRUD per l’interazione con il database e la semplificazione delle query\\ | ||
- | * Community di sviluppo con un buon grado di affidabilità\\ | ||
- | * Licenza open source flessibile\\ | ||
- | |||
- | 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\\ | ||
- | |||
- | {{:basic_mvc.png|}}\\ | ||
- | \\ | ||
- | 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.\\ | ||