Actions ו-Controllers ב-Zend Framework

יצירה ושינוי של Controllers ו-Actions באמצעות 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 חדש

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

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

פוסטים נוספים שכדאי לקרוא

פיתוח ב-JavaScript

Axios interceptors

תכנון נכון של קריאות AJAX באפליקציה ריאקטית וניהול השגיאות או ההצלחות עם פיצ׳ר נחמד של axios

מיקרו בקרים

בית חכם עם ESPHome ו Home Assistant

הסבר על הום אסיסטנט, מערכת הקוד הפתוח לבית חכם ואיך לחבר אליה מיקרובקרים.

DALL·E 2023-10-21 22.28.58 - Photo of a computer server room with red warning lights flashing, indicating a potential cyber threat. Multiple screens display graphs showing a sudde
יסודות בתכנות

מבוא לאבטחת מידע: IDOR

הסבר על התקפה אהובה ומוצלחת שבאמצעותה שואבים מידע מאתרים

גלילה לראש העמוד