מודל-תצוגה-קונטרולר (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»