Actions ו-Controllers ב-Zend Framework

במאמר הקודם למדנו על ההגדרות הראשוניות של האפליקציה שלנו בזנד פריימוורק. גם ראינו איך המודל של controller -> action ->view עובד בפועל.

על מנת להבין את היחס המלא בין קונטרולרים ל-actions אנחנו צריכים ליצור actions. לכל קונטרולר יכולים להיות כמה actions. בואו ונבחן את הקונטרולר הראשון שהוא index. בעצם לכל קונטרולר יש כתובת ב-url. ננסה להכנס ל-/index בתיקיה שלנו – למשל: http://localhost/internet_site/index או your.ip.number/internet_site/index, אנו נראה שאנו מגיעים לאותו מסך. למה זה קורה? כי הקונטרולר הדיפולטיבי הוא index. לקונטרולר כאמור יכולים להיות כמה actions מלבד indexAction שהוא האינדקס הדיפולטיבי – בואו וניצור action כזה!

יצירת action

אם אנו ב-Wamp Server אנו נכנס אל התיקיה שבה הדבקנו את zf.bat ונכתוב zf FULLPATH action add. כש-FULLPATH הוא כמובן הנתיב המלא של הפרויקט שלנו (כמו למשל c:\wamp\www\internet_site) אם אנחנו משתמשים בלינוקס כל מה שעלינו לעשות זה להכנס לתיקית הפרויקט ולכתוב:


zf create action add

יופיע לנו המסר הבא:


Creating an action named add inside controller at /var/www/internet_site/application/controllers/IndexController.php
Updating project profile '/var/www/internet_site/.zfproject.xml'
Creating a view script for the add action method at /var/www/internet_site/application/views/scripts/index/add.phtml
Updating project profile '/var/www/internet_site/.zfproject.xml'

אם נסתכל נראה שבקונטרולר שלנו, IndexController נוספה מתודה חדשה:


    public function addAction()
    {
        // action body
    }

וכן נוסף view חדש בשם add.phtml (תחת תיקית views/index). בואו ונבחן את ה-action החדש שלנו! נכנס ל: http://localhost/internet_site/index/add או ל: your.ip.number/internet_site/index/add. אנו אמורים לראות שם את זה:
ה-action החדש שיצרנו

אם נלך ל-add.phtml שמכיל את ה-view, נראה את הטקסט שהוא כותב לנו וכמובן נוכל לשנות אותו כרצוננו ולהוסיף משתנים ב-action כדי שיופיעו ב-view.

לסיכום, מבנה ה-URL עובד ככה:
מבנה URL

יצירת controller

יצירת קונטרולר גם היא פשוטה ביותר, כל מה שצריך לעשות זה


zf create controller User

כל קונטרולר חייב להיות עם אות ראשונה גדולה. מה שיפה בכלי zf הוא שגם אם תכתבו את השם של הקונטרולר באות קטנה הוא מיד יעביר אותו לאות גדולה.

מבט ברשימת התיקיות יראה לכם שנוצר UserController.php בתיקית controllers. לקונטרולר החדש יש כמובן מתודת init ו-indexAction דפולטיבי. נוצרה לנו תיקיה חדשה ב-view ששמה הוא user וגם שם יש index.phtml שתשמש את ה-action הדפולטיבי החביב שלנו.

אם ננסה להכנס ל: internet_site/user אנו נראה את הדבר הבא:
controller חדש

גם כיף וגם פשוט.

במאמר הבא אנו ניצור אפליקצית דוגמא שתשתמש בזנד.

כדאי תמיד להשאר מעודכנים! הרשמו לעדכונים של האתר במייל! - המייל יישלח כל יום ראשון בעשר בבוקר ויכיל אך ורק את המאמרים שהתפרסמו באינטרנט ישראל. ללא ספאם, ללא הצפות, ללא בלגנים. 🙂

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (אין הצבעות)

תגיות: פורסם בקטגוריה: Zend Framework

אל תשארו מאחור! יש עוד מה ללמוד!

הצטרפו לעדכונים!

העדכונים נשלחים אך ורק כאשר האתר מתעדכן.

רן בר-זיק

רן בר-זיק כותב כל המאמרים באינטרנט ישראל, מפתח אינטרנט מנוסה במגוון שפות ופלטפורמות.
ניתן ליצור איתי קשר באמצעות:
כתובת המייל שלי: info@internet-israel.com.
פרופיל הלינקדאין שלי
הטוויטר שלי
פרופיל הפייסבוק שלי
אני תמיד שמח לייעץ ולעזור, אך בשל עומס הפניות הרב, אני לא תמיד מצליח לענות במהירות.

מאמרים אחרונים