mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-12 02:56:55 +01:00
56 lines
3.1 KiB
Plaintext
56 lines
3.1 KiB
Plaintext
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:
|
|
|
|

|
|
|
|
|
|
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 :
|
|
|
|

|
|
|
|
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](/doc/guide/basics.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](/doc/guide/basics.application#application-component)
|
|
nommé `request`.
|
|
4. L'application détermine la demande [controller](/doc/guide/basics.controller)
|
|
et [action](/doc/guide/basics.controller#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](/doc/guide/basics.model) dont l'ID est `1` à partir de la base de données.
|
|
7. L'action rend un [view](/doc/guide/basics.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](/doc/guide/basics.view#widget).
|
|
10. Le résultat rendu de la vue est intégré dans un [layout](/doc/guide/basics.view#layout).
|
|
11. L'action complète la vue de rendu et affiche le résultat à l'utilisateur.
|
|
|
|
|
|
<div class="revision">$Id$</div>
|