Yii implementa il design pattern [schema di progettazione] model-view-controller (MVC), che è largamente adottato nella programmazione Web. L'obiettivo di MVC è quello di separare la business logic [logica di funzionamento] dalle considerazioni relative all'interfaccia utente, cosicché gli sviluppatori possono modificare ciascuna parte più facilmente senza influenzare le altre. Nel MVC il model rappresenta le informazioni (i dati) e la business logic; la view contiene elementi dell'interfaccia utente come testi, form di inserimento dati; e il controller gestisce le comunicazioni tra model e view.
Yii, oltre ad implementare MVC, introduce un front-controller, chiamato
Application
il quale incapsula il contesto di esecuzione per il processo di
una richiesta. Application raccoglie alcune informazioni sulla richiesta
dell'utente e poi le smista al controller appropriato per ulteriori
manipolazioni.
Il seguente diagramma mostra la struttura statica di un'applicazione Yii:
Struttura statica di un'applicazione Yii
Il seguente diagramma mostra il workflow [flusso di lavoro] tipico di un'applicazione Yii quando essa gestisce una richiesta utente:
Workflow tipico di un'applicazione Yii
http://www.example.com/index.php?r=post/show&id=1
ed il web server gestisce la richiesta eseguendo lo script di avvio index.php
.request
.urlManager
. In questo esempio, il
controller è post
, il quale si riferisce alla classe PostController
; e
l'action è show
, il cui significato attuale è determinato dal controller.show
si riferisce al metodo, all'interno della classe del controller, che si chiama
actionShow
. Il metodo crea ed esegue i filtri (es. controllo accessi, benchmark)
associati con questa action. L'action viene eseguita se ciò è permesso dai filtri.Post
il cui ID è 1
.show
con i
prodotti dal model Post
.Post
.
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.