תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

פונקציות PHP

מחבר:
בתאריך:

 

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

 

פונקציה ראשונה של PHP

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

 
   function name(){
              // קוד הפונקציה
   }
 

 

לדוגמה, הפונקציה הבאה, שמדפיסה "Shalom" למסך.

function hello(){
     echo " Shalom ";
}

 

קריאה לפונקציה

כדי להפעיל את הפונקציה שיצרנו ששמה hello() (הסוגריים הכרחיות ותפקידן יובהר בסעיף הבא). נקרא לפונקציה בשמה, באופן הבא:

hello();

וכתוצאה מכך יודפס Shalom על המסך.

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

 

פונקציות עם ארגומנט

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

function hello($name){
     echo "Shalom " . $name;
}

 

עכשיו כשאנחנו קוראים לפונקציה אנחנו צריכים להוסיף את הארגומנט:

hello("Mor");

ידפיס למסך:

Shalom Mor

 

ונוכל לקרוא לקוד שוב עם שם אחר:

hello("Ido");

ידפיס למסך:

Shalom Ido

 

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

hello();

ומיד תופיע הודעת שגיאה מכוערת, והסקריפט ייתקע:

Warning: Missing argument 1 for hello()

 

פונקציות עם ארגומנט וערך ברירת מחדל

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

function hello($name = "X"){
     echo "Shalom " . $name;
}

 

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

hello();

והתוצאה תהיה:

Shalom x

 

באותה מידה שניתן להעביר X או שם אחר שישמש כברירת מחדל אפשר להעביר מחרוזת ריקה. לדוגמה:

function hello($name = ""){
     echo "Shalom " . $name;
}

 

ועכשיו כשנקרא לפונקציה:

hello();

תודפס למסך ההודעה:

Shalom

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

 

פונקציות עם יותר  מארגומנט אחד

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

- שם באמצעות הארגומנט name$.

- ברכה באמצעות הארגומנט $bless.

 

נבנה את הפונקציה עם שני הארגומנטים:

function hello($name = "", $bless=""){
     echo "Shalom " . $name . " and " .$bless ;
}

 

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

hello("Tamar" , "have a good day");

 

והתוצאה:

Shalom Tamar and have a good day

 

פונקציות שמחזירות ערך

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

function hello($name = "X"){
     return "Shalom " . $name;
}

 

נקרא לפונקציה:

hello ("Yossi");

 

והתוצאה היא שדבר לא יודפס למסך, מפני שהשתמשנו ב-return ולא ב-echo, וכדי שתאמינו לי שמשהו אכן קורה, נעשה echo על הקריאה לפונקציה, באופן הבא:

echo hello ("Yossi");

 

ועכשיו יודפס למסך:

Shalom Yossi

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

כל מדריכי ה-PHP

 

 

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

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

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

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

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

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

דג למים הוא כמו ציפור ל...?