mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-12 02:56:55 +01:00
33 lines
3.6 KiB
Plaintext
33 lines
3.6 KiB
Plaintext
מודל-תצוגה-קונטרולר (MVC)
|
||
===========================
|
||
|
||
Yii מאמצת את השימוש בדפוס של מודל-תצוגה-קונטרולר (MVC) אשר משתמשים בה לרוב בשפות פיתוח. MVC נועד להפרדת הקוד מהעיצוב כדי שלמפתחים יהיה יותר קל לשנות חלק מסויים בקוד מבלי להשפיע על חלק אחר.
|
||
ב MVC, המודל מייצג את המידע (התוכן) והלוגיקה; התצוגה מכיל אלמנטים של ממשקי המשתמש כמו טקסט, טפסים; והקונטרולר מנהל את התקשורת בין המודל לתצוגה.
|
||
|
||
בנוסף ל MVC, Yii מציגה קונטרולר-ראשי, הנקרא אפליקציה, המייצג את הנתונים בהקשר של עיבוד בקשת המשתמש. אפליקציה מעבדת את בקשת המשתמש ומנתבת אותה לקונטרולר המתאים להמשך הניהול והעיבוד.
|
||
|
||
הדיאגרמה הבאה מציגה את המבנה הסטטי של אפליקציה ב Yii:
|
||
|
||

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

|
||
|
||
1. משתמש מבצע בקשה לקישור `http://www.example.com/index.php?r=post/show&id=1` ושרת הווב מטפל בבקשה ומריץ את קובץ הכניסה הראשי `index.php`.
|
||
2. קובץ הכניסה הראשי יוצר אובייקט של [האפליקציה](/doc/guide/basics.application) ומריץ אותו.
|
||
3. האפליקציה מקבלת את המידע המפורט אודות בקשת המשתמש [מרכיב האפליקציה](/doc/guide/basics.application#application-component) בשם `request`.
|
||
4. האפליקציה מחליטה את [הקונטרולר](/doc/guide/basics.controller) [והפעולה](/doc/guide/basics.controller#action) שצריך להריץ בעזרת רכיב אפליקציה בשם `urlManager`. בדוגמא זו, הקונטרולר הוא `post` אשר מנותב אל המחלקה `PostController`; והפעולה היא `show` אשר פעולתה מוגדרת בקונטרולר.
|
||
5. האפליקציה יוצרת אובייקט של אותו קונטרולר להמשך הטיפול בבקשת המשתמש. הקונטרולר מחליט שהפעולה `show` מנותבת למתודה במחלקה בשם `actionShow`. לאחר מכן היא יוצרת ומריצה פילטרים (לדוגמא הרשאות גישה, בדיקות) המצורפים לפעולה זו. הפעולה רצה אם היא עוברת את תהליך הפילטרים.
|
||
6. הפעולה קוראת [מודל](/doc/guide/basics.model) של `Post` אשר מספר המזהה היחודי שלו הוא `1` מתוך מסד הנתונים.
|
||
7. הפעולה מגישה קובץ [תצוגה](/doc/guide/basics.view) בשם `show` עם המודל `Post`.
|
||
8. קובץ התצוגה קורא ומציג את המאפיינים של מודל ה `Post`.
|
||
9. קובץ התצוגה מריץ כמה [וידג'טים](/doc/guide/basics.view#widget).
|
||
10. התוכן הסופי של קבצי התצוגה נכנס אל תוך [תבנית](/doc/guide/basics.view#layout).
|
||
11. הפעולה מסיימת את הגשת קבצי התצוגה ומציגה את התוכן למשתמש.
|
||
|
||
«div class="revision"»$Id: basics.mvc.txt 1622 2009-12-26 20:56:05Z qiang.xue $«/div» |