מודל-תצוגה-קונטרולר (MVC)
Yii מאמצת את השימוש בדפוס של מודל-תצוגה-קונטרולר (MVC) אשר משתמשים בה לרוב בשפות פיתוח. MVC נועד להפרדת הקוד מהעיצוב כדי שלמפתחים יהיה יותר קל לשנות חלק מסויים בקוד מבלי להשפיע על חלק אחר. ב MVC, המודל מייצג את המידע (התוכן) והלוגיקה; התצוגה מכיל אלמנטים של ממשקי המשתמש כמו טקסט, טפסים; והקונטרולר מנהל את התקשורת בין המודל לתצוגה.
בנוסף ל MVC, Yii מציגה קונטרולר-ראשי, הנקרא אפליקציה, המייצג את הנתונים בהקשר של עיבוד בקשת המשתמש. אפליקציה מעבדת את בקשת המשתמש ומנתבת אותה לקונטרולר המתאים להמשך הניהול והעיבוד.
הדיאגרמה הבאה מציגה את המבנה הסטטי של אפליקציה ב Yii:
מבנה סטטי של אפליקציה ב Yii

רצף עבודה אופייני
הדיאגרמה הבאה מציגה את רצף העבודה האופייני של אפליקצית Yii כשהיא מנהלת בקשת משתמש:
רצף עבודה אופייני לאפליקציה ב Yii

- משתמש מבצע בקשה לקישור
http://www.example.com/index.php?r=post/show&id=1
ושרת הווב מטפל בבקשה ומריץ את קובץ הכניסה הראשיindex.php
. - קובץ הכניסה הראשי יוצר אובייקט של האפליקציה ומריץ אותו.
- האפליקציה מקבלת את המידע המפורט אודות בקשת המשתמש מרכיב האפליקציה בשם
request
. - האפליקציה מחליטה את הקונטרולר והפעולה שצריך להריץ בעזרת רכיב אפליקציה בשם
urlManager
. בדוגמא זו, הקונטרולר הואpost
אשר מנותב אל המחלקהPostController
; והפעולה היאshow
אשר פעולתה מוגדרת בקונטרולר. - האפליקציה יוצרת אובייקט של אותו קונטרולר להמשך הטיפול בבקשת המשתמש. הקונטרולר מחליט שהפעולה
show
מנותבת למתודה במחלקה בשםactionShow
. לאחר מכן היא יוצרת ומריצה פילטרים (לדוגמא הרשאות גישה, בדיקות) המצורפים לפעולה זו. הפעולה רצה אם היא עוברת את תהליך הפילטרים. - הפעולה קוראת מודל של
Post
אשר מספר המזהה היחודי שלו הוא1
מתוך מסד הנתונים. - הפעולה מגישה קובץ תצוגה בשם
show
עם המודלPost
. - קובץ התצוגה קורא ומציג את המאפיינים של מודל ה
Post
. - קובץ התצוגה מריץ כמה וידג'טים.
- התוכן הסופי של קבצי התצוגה נכנס אל תוך תבנית.
- הפעולה מסיימת את הגשת קבצי התצוגה ומציגה את התוכן למשתמש.
«div class="revision"»$Id: basics.mvc.txt 1622 2009-12-26 20:56:05Z qiang.xue $«/div»