פונקציות חץ
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 3 מתוך 68.
פונקציות חץ, שהוצגו ב-PHP 7.4, מספקות דרך תמציתית יותר לכתוב פונקציות אנונימיות פשוטות. הן משתמשות במילת המפתח fn במקום בתחביר המלא של function, וכך הקוד שלך קצר ונקי יותר.
כך יוצרים פונקציית חץ:
<?php
$greeting = fn($name) => "Hello, " . $name . "!";
echo $greeting("Alice"); // פלט: Hello, Alice!
?>שימו לב להבדלים המרכזיים: פונקציות חץ משתמשות ב-fn במקום ב-function, כוללות חץ => שמצביע אל הביטוי, ואינן זקוקות לסוגריים מסולסלים או להצהרת return עבור ביטויים פשוטים.
היתרון הגדול ביותר של פונקציות חץ הוא שהן לוכדות באופן אוטומטי משתנים מהתחום של הפונקציה העוטפת — אין צורך במילת המפתח use:
<?php
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob"); // פלט: Welcome, Bob!
?>פונקציות חץ מושלמות לפעולות קצרות ופשוטות שבהן התחביר המסורתי של פונקציות אנונימיות מרגיש מסורבל מדי.
אתגר
קלצרו פונקציית חץ שמקבלת שם מוצר כפרמטר ומחזירה תווית מוצר מעוצבת. פונקציית החץ צריכה ללכוד שם קטגוריה מהתחום המקיף.
תקבלו שתי קלטים: שם הקטגוריה ושם המוצר. קראו את שני הקלטים, צרו פונקציית חץ שלוכדת את הקטגוריה ומעצבת את תווית המוצר בתבנית "[Category] Product", קראו לפונקציית החץ עם שם המוצר והדפיסו את התוצאה.
תבנית הקלט: שתי שורות - השורה הראשונה מכילה את שם הקטגוריה, השורה השנייה מכילה את שם המוצר
הפלט הצפוי: תווית המוצר המעוצבת בתבנית "[Category] Product"
נסו בעצמכם
<?php
// קראו את הקלט
$category = trim(fgets(STDIN));
$product = trim(fgets(STDIN));
// TODO: כתבו את הקוד שלכם למטה
// צרו פונקציית חץ שלוכדת את הקטגוריה ומעצבת את תווית המוצר
// קראו לפונקציית החץ והדפיסו את התוצאה
echo $result;
?>השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין