Modèle-Vue-Contrôleur (MVC)
Yii implémente le modèle modèle-vue-contrôleur (MVC) de conception, qui est largement adoptée dans la programmation Web. MVC a pour but de séparer la logique métier des considérations d'interface utilisateur, de sorte que les développeurs peuvent plus facilement changer chaque partie sans affecter l'autre. Dans MVC, le modèle représente l'information (les données) et les règles de gestion, la vue contient des éléments de l'interface utilisateur tels que les entrées sous forme de texte, et le contrôleur gère la communication entre le modèle et la vue.
D'ailleurs la mise en oeuvre MVC, Yii introduit également une première commande,
appelée Application
, qui encapsule le contexte d'exécution pour le traitement
d'une requête. Application recueille des informations sur une requête de l'utilisateur,
puis il envoie à un contrôleur approprié pour une manipulation ultérieure.
Le schéma suivant montre la structure statique d'une application Yii:
Structure statique d'application Yii

Un flux de travail typique
Le schéma suivant montre un flux de travail typique d'une application Yii quand il traite une demande de l'utilisateur :
Déroulement typique d'une application Yii

- Un utilisateur envoie une requête au lien
http://www.example.com/index.php?r=post/show&id=1
et le serveur Web traite la requête en exécutant le script bootstrapindex.php
. - Le script d'amorçage crée une Application exemple et l'exécute.
- L'application obtient des informations détaillées sur demande de l'utilisateur à partir
un composant d'application
nommé
request
. - L'application détermine la demande controller
et action avec à l'aide
d'un composant d'application nommé
urlManager
. Pour cet exemple, le contrôleur estpost
, qui se réfère à la classePostController
, et l'action estshow
, dont réelle signification est déterminée par le contrôleur. - L'application crée une instance du contrôleur demandé
en outre à traiter la demande de l'utilisateur. Le contrôleur détermine que l'action
show
fait référence à une méthode nomméeactionShow
dans la classe contrôleur. il a ensuite crée et exécute des filtres (par exemple l'accès de contrôle, analyse comparative) associé avec cette action. L'action est exécutée si elle est autorisée par les filtres. - L'action se lit un
Post
model dont l'ID est1
à partir de la base de données. - L'action rend un view nommé
show
avec le modèlePost
. - Le point de vue lit et affiche les attributs du modèle
Post
. - La vue exécute une widgets.
- Le résultat rendu de la vue est intégré dans un layout.
- L'action complète la vue de rendu et affiche le résultat à l'utilisateur.