Il framework Yii e l’MVC

Yii implementa, il pattern architetturale MVC (Model-View-Controller) .
Ampiampente utilizzato nel web anche da altri grossi framework, è una tecnica di sviluppo di sistemi software che si propone di separare la logica di business da tutto ciò che è interfaccia utente.
In questo modo gli sviluppatori possono lavorare ai vari blocchi in maniera indipendente.
Nell’ MVC, il model rappresenta le informazioni (i dati) e le regole di business cioè il significato dei dati stessi e come i dati devono essere trattati ed elaborati, il View contiene gli elementi dell’interfaccia utente (in un sito si parlerebbe di template o layout) cioè come i dati vengono prsentati , mentre il Controller gestisce la comunicazione tra il model e view.

Oltre ad applicare l’MVC, Yii introduce anche un controller, denominato Application, che racchiude il contesto dell’applicazione ed elabora le richieste.

Dal sito ufficiale di Yii ecco un’immagine che rappresenta la struttura di un applicazione Yii.

mvc yii
Struttura di una applicazione Yii

Sempre dal sito ufficiale ecco il tipico flusso di lavoro dell’applicazione sviluppata tramite Yii.

yii-flusso
Flusso di lavoro Yii
  • L’utente effettua una richiesta all’URL http://www.mia_app.com/index.php?r=post/show&id=1 e il server Web gestisce la richiesta eseguendo lo script index.php.
  • Lo script crea un istanza dell’oggetto Application e lo avvia.
  • L’oggetto Application recupera informazioni sulle richieste dell’utente dal componente Request, dell’applicazione.
  • L’applicazione determina il Controller e la Action da utilizzare per la richiesta con l’aiuto di un componente denominato urlManager.
  • L’applicazione crea un’istanza del controller da utilizzare.
  • Successivamente, elaborati i dati tramite il model, viene stabilita la view da utilizzare per presentare i risultati.
  • La Action termina la View visualizzando i risultati all’utente

Questo post spiega molto brevemente ed in modo molto semplificato il flusso di lavoro di Yii.

Per una delucidazione generale sul pattern MVC un libro adatto è il seguente : PHP 6. Guida per lo sviluppatore (Linguaggi & programmazione) in cui si discute di PHP 6 di MVC e di programmazione OO.



About Mauro De Filippis 2825 Articles
Laureato in Ingegneria Informatica nel 2008 presso l'Università degli Studi di Lecce con una tesi in Processi di Produzione Robotizzati dal titolo "Integrazione delle tecniche di progettazione del ciclo di lavorazione con programmazione della produzione”. Le mie attività principali sono : sviluppo di applicativi ANSI C per terminali POS basati su processori ARM Risc 32Bit con 2-4 MB di Ram (progettazione, sviluppo e test delle applicazioni ) sviluppo in ambiente .NET sviluppo Web in ambiente PHP, ASP Installazione, progettazione, utilizzo di Db MS SQL Server, Mysql, Acces , Oracle Da anni mi occupo di CMS Open Source, in particolare di Joomla e Wordpress. Mia è la Guida Wordpress 3.5, la Guida Joomla 2.5 , il Corso online Joomla! 2.5 ed il Corso online Wordpress Mi occupo anche di LMS in particolare di Moodle e Docebo. Google+ by Mauro De Filippis

Be the first to comment

Leave a Reply

L'indirizzo email non sarà pubblicato.


*