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

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

Déroulement typique d'une application Yii
  1. 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 bootstrap index.php.
  2. Le script d'amorçage crée une Application exemple et l'exécute.
  3. L'application obtient des informations détaillées sur demande de l'utilisateur à partir un composant d'application nommé request.
  4. 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 est post, qui se réfère à la classe PostController, et l'action est show, dont réelle signification est déterminée par le contrôleur.
  5. 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ée actionShow 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.
  6. L'action se lit un Post model dont l'ID est 1 à partir de la base de données.
  7. L'action rend un view nommé show avec le modèle Post.
  8. Le point de vue lit et affiche les attributs du modèle Post.
  9. La vue exécute une widgets.
  10. Le résultat rendu de la vue est intégré dans un layout.
  11. L'action complète la vue de rendu et affiche le résultat à l'utilisateur.
$Id$