מדריך Yii 2 – הרצת אפליקציות (הבסיס)

אחרי שמתקינים את Yii 2 ,ניתן לגשת לאפליקציה באמצעות ה-URL : http://hostname/basic/web/index.php או http://hostname/index.php תלוי בהגדרות של שרת ה-Web.  במדריך הזה נלמד איך מאורגן הקוד, ואיך מנותבת כל בקשה (request) של הגולש .

הנחת יסוד : יש לכם את תיקית basic/web בתיקיה שמחזיק שרת ה-web ( נניח localhost/basic/web) . כמובן, אם התקנתם את זה בתיקיה אחרת , תתאימו את הכתובות של ה-URL בהתאם.

אפליקצית ה-Basic, מכילה 4 עמודים :

  • דף הבית שניתן להגיע אליו דרך ה-URL – http://hostname/index.php
  • דף ה-About
  • דף ה-Contact שמכיל טופס  יצירת קשר דרך מייל
  • דף login  – שמכיל את היכולת לבדוק משתמש, אם תנסו אותו,עם admin/admin תוכלו לראות שהמילה login הופכת להיות logout.

העמודים האלו חולקים יחד את אותו Header , Footer, Menu .

בתחתית אפשר לראות כלי חזק מאוד של Yii שנקרא  debugger tool שמספק עזרה מאוד נחוצה כמו הודעות Log , שאילתות ל-DB, סטטוטים של בקשות ועוד.

מבנה האפליקציה ב-Yii

  • תיקית basic  – מכילה את כל האפליקציה
    • composer.json – לשימוש באמצעות ה-Composer
    • תיקית Config – הגדרות
      • console.php הגדרות של ה-console
      • web.php – הגדרות של האפליקציה
    • תיקית commands – מכילה פקודות של ה-console
    • תיקית controllers – מכילה את קבצי הקונטרולרים
    • תיקית models – מכילה את קבצי המודלים
    • תיקית runtime – מכילה קבצי ש-Yii מייצרת תוך כדי ריצה, כמו לוגים, ו-cache.
    • תיקית vendor – מכילה חבילות שהותקנו על ידי ה-composer, כולל את קבצי הליבה של Yii.
    • תיקית views – מכילה את קבצי ה-view
    • תיקית web
      • index.php – קובץ הגישה לאפליקציה
      • assets – קבצי css + JS
    • קובץ yii (או קובץ yii.bat) – קובץ ה-console.

מה צריך להיות חשוף למשתמש ?

ב-Yii אפשר לחלק את הקבצים כך : כל מה שנמצא בתיקית web, נגיש לגולש, כל השאר – צריך להיות לא נגיש לגולש, ונגיש רק לשרת/לסקריפטים.

Yii משתמשת כמו פריימורקים רבים בשיטת/מתודולגית MVC, כפי שבוודאי שמת לב מהמבנה של התיקיות -models/views/controllers – מכילות כל אחת את הקבצים הרלוונטים.

איך מנותבת בקשה/request ב-Yii ?

לכל אפליקציה יש קובץ index.php שהוא הקובץ היחיד שנגיש לגולש. קובץ זה לוקח את ה-request ויוצר מופע של המחלקה application ואז מתחיל לטפל ב-request.

המחלקה application מפענחת את ה-request עם סיוע של רכיבי ה-components ומנתבת את ה-request בין רכיבי ה-MVC.

יש לציין שבחלק של ה-views, נעזרים ב-Widgets כדי לבנות את ה-views.

 ניתוב של request ב-Yii – שלב אחרי שלב

  1. הגולש מקליד כתובת, ונשלח request ל-enrty script, שהוא כאמור , קובץ web/index.php
  2. הגדרות ה-configuration נטענות . ובנוסף נוצר מופע (instance) של המחלקה application כדי לטפל ב-request.
  3. המחלקה application מפענחת את הנתיב – route, עם עזרה של מרכיב שנקרא -request.
  4. נוצר מופע (instance) של controller כדי לטפל ב-request.
  5. הקונטרולר יוצא מופע (instance) של ה-action הדרוש ומפעיל Filters אם יש צורך.
  6. אם אחד ה-Filters כושל, הפעולה כולה נעצרת (כלומר ה-action כושל).
  7. אם כל ה-Filters עוברים בהצלחה, אז ה-Action מבוצעת.
  8. כאן ה-Action תופס פיקוד, ומבצע  טעינה של המודל (model) ואם זהו מודל שקשור ל-DB, אז נשלפות הרשומות מה-DB.
  9. ה-Action מייצר View ומחזיר את ה-view ביחד עם נתוני ה-model אל השלב הבא. (הייצור של ה-View מכונה render) .
  10. התוצאה מוחזרת אל רכיב ה-response.
  11. רכיב ה-reposnse שולח תשובה אל הדפדפן של הגולש.

זכויות יוצרים : המדריך פורסם לפי התנאים של Yii , והמקור נמצא בקישור הזה.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *