פונקציות בשפת PHP

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

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

ארגומנטים

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

אז ראיתם מהו התחביר לכתיבת פונקציה חוקית ב-PHP, וחשוב שאני יסביר כמה דברים בנושא.
קודם כל, שמה של הפונקציה, היא חשובה למתכנת עצמו, חשוב מאוד להגדיר שם קל ונוח שמשקף את מה שהפונקציה אכן עושה ומבצעת. דבר שני הוא ההתחלה והסוף שעל זה עדיין לא דיברנו במדריך זה, ועתה הגיע הזמן לדבר על זה. ההתחלה ( } ) מורה לפונקציה לקרוא את כל השורות הכתובת עד סיומה ( { ).
אם לא היינו רושמים את ההתחלה והסוף, אז הפונקציה הייתה קוראת רק את הפקודה הראשונה שהיינו רושמים לה. בכל אופן בפונקציה חובה לרשום את ההתחלה והסוף אפילו אם מדובר רק בפקודה אחת, בניגוד לתנאים ולולאות שנלמד בהמשך.

דוגמאת פונקציית כפל

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

הפונקציה cefel שיצרנו זה עתה, מכפילה שתי פרמטרים שמכניסים לפונקציה. שימו לב שיצרנו את הפונקציה, קראנו לה cefel, ואז הגדרנו בה, שתי ארגומנטים שהוכפלו אחד בשני. לבסוף פגשנו בפקודה חדשה ששמה return, שהיא מחזירה את הערך שיצא מהפונקציה.
לאחר מכן הצגנו את הפונקציה כפל, עם שתי פרמטרים 9 ו- 6.
הפרמטרים נכנסו לפי הסדר שלהם לארגומנטים $number2 , $number1 , ורק בסוף הוחזר מהפונקציה מספר 54, שהוא התוצאה של פעולותיה של הפונקציה. כמובן שכפי שאנו מכירים את הפקודה echo, היא הציגה לבסוף את המספר 54, וכך מסתיימת לה התוכנית הזו.

דוגמא עם משתנה גלובאלי

כפי שאתם יכולים לראות, הפעם השתמשנו במשתנה $number1 והשוונו אותו ל 10, אך מכיוון שבתוך הפונקציה המשתנה $number1, היה מוגדר כגלובאלי, אז גם בפונקציה הוא נחשב כ-10 והתוצאה יצאה בסופו של דבר 90.
אם לא היינו מגדירים את $number1, בתור משתנה גלובאלי, הפונקציה לא הייתה מזהה את המשתנה, והייתה שולחת הודעת הערה שהמשתנה לא הוגדר.