מדריך PHP בסיסי
שפת תסריט המיועדת בעיקר לתכנות יישומי אינטרנט בצד השרת, אך יכולה לרוץ על המחשב האישי באמצעות מפרש. קוד PHP עוצב במיוחד בעבור שפת HTML ולעולם לא תשלח אל צד הלקוח.
שפה זו היא חוצה פלטפורמות, משמעות הדבר היא שניתן לעבוד איתה בשרתי לינוקס, ווינדוס ומק.
לצורך עבודה עם שפת PHP נדרש להתקין:
תוכנת שרת HTTP (לדוגמה Apache).
מסד נתונים (MySQL / SQLite).
עורך טקסט.
דפדפן אינטרנט.
מה ההבדל בין PHP ל-JS?
* PHP - היא שפת תסריטים בצד השרת (הקוד רץ בשרת ונשלח אל הדפדפן של המשתמש).
* JS - היא שפת תסריטים בצד הלקוח (הקוד רץ בדפדפן של המשתמש).
כיצד מתבצע הליך הבקשה של הנתונים:
1. דפדפן האינטרנט שולח בקשה אל השרת.
2. השרת פונה אל התוכנה שרצה עליו ומחפש את הקובץ הנדרש.
3. לאחר הרצת הקובץ הוא מייבא את קוד ה-PHP ושולף נתונים ממסד הנתונים בעת הצורך.
4. השרת מחזיר נתונים אל הדפדפן בשפת HTML.
איך להשתמש בשפת PHP?
תחילה יש ליצור קובץ בשם עם סיומת php.
בראש המסמך יש להודיע למפרש השפה שנקודה זו יש קוד PHP ויש לפרשו בהתאם.
ובסיום המסמך:
ניתן להתחיל ולסיים קוד PHP בעזרת קיצור (דרך לא מומלצת):
כל שורה בשפת PHP חייבת להסתיים בנקודה פסיק ; כדי להודיע שהפקודה הסתיימה וניתן לעבוד לפקודה הבאה.
בשורה הבאה יש להוסיף ()phpinfo ולאחר מכן לשמור.
כאשר ניגש אל העמוד, הוא יציג מידע אודות הגרסא, מערכת ההפעלה ועוד.
כדי להחזיר נתונים אל המשתמש יש להשתמש בפקודה echo.
ניתן לבצע פעולות מתמטיות וחישובים שונים:
כדי לחבר 2 ערכים יחד, יש להשתמש בנקודה (.) :
במידה ורוצים לרדת שורה, נשתמש בתג HTML שנקרא <br> באופן הבא:
הערות:
במידה ורוצים להוסיף הערה של שורה אחת יש להוסיף // לפני אותה שורה:
ניתן לבצע הערה של שורה אחת גם באמצעות סולמית # לפני אותה השורה:
משתנים:
למשתנים בשפת PHP יש חוקיות:
* חייבים להתחיל בדולר.
* יכולים לכיל: מספרים, אותיות, קו תחתונים _ או מקפים -
* יש רגישות לאותיות גדולות וקטנות.
* המשתנים לא יכולים להכיל רווחים.
ניתן להגדיר משנה ריק באופן הבא:
ניתן להצהיר על משתנים ולהדפיס אותם באופן הבא:
נסו בעצמכם!
ניתן להצהיר על משתנה קבוע שלא ניתן לשנותו באופן הבא:
פונקציות שמורות:
שימוש בפונקציה שמורה יעשה באופן הבא:
מערכים:
מערך הוא משתנה עם תאים, ניתן להגדיר מערך ריק באופן הבא:
מערך כמילון (מבנה נתונים) - Associative Arrayמגדיר אוסף של מפתחות וערכים. המילון מורכב ממיפוי חד-ערכי בין מפתח (Key) לערך (Value).
כדי להדפיס אובייקט מתוך המערך נוכל פשוט להשתמש במפתח.
תנאים ולולאותתנאי מתרחש כאשר ישנם 2 ערכים ואנו רוצים להשוות ביניהם נשתמש ב-if:
כאשר יש מספר ערכים שנרצה להשוות ביניהם נשתמש ב-Switch:
לולאת While
ביטוי כאשר הוא מחזיר אמת, הלולאה תמשיך ותתבצע.
לולאת For
כמעט זהה ללולאת While ומורכבת משלושה חלקים בתוך הסוגריים שלה: הגדרת המשתנה הראשוני; תנאי ההמשכיות; ופעולת ההרצה. לולאת הFOR אינה צריכה את שלושת הקטעים שלה כדי לפעול. לעיתים, כאשר המשתנה כבר הוגדר מראש, אין צורך להכניס אותו לתוך הלולאה;
לולאת Forearch
לולאה העוברת על מערך (פעם אחת על כל ערך) ויכולה להשתמש בערך במהלך האיטרציה:
מבנה הלולאה:
מבנה הלולאה ב-Associative Array:
פונקציות:
באמצעות פונציות ניתן להגדיר קטע של קוד שניתן לקרוא לו בכל פעם במקום לכתוב את אותו קוד שוב ושוב. יש לשים לב שהמשתנים של הפונקציה "שונים" משאר המשתנים בתוכנית.
שפה זו היא חוצה פלטפורמות, משמעות הדבר היא שניתן לעבוד איתה בשרתי לינוקס, ווינדוס ומק.
לצורך עבודה עם שפת PHP נדרש להתקין:
תוכנת שרת HTTP (לדוגמה Apache).
מסד נתונים (MySQL / SQLite).
עורך טקסט.
דפדפן אינטרנט.
מה ההבדל בין PHP ל-JS?
* PHP - היא שפת תסריטים בצד השרת (הקוד רץ בשרת ונשלח אל הדפדפן של המשתמש).
* JS - היא שפת תסריטים בצד הלקוח (הקוד רץ בדפדפן של המשתמש).
כיצד מתבצע הליך הבקשה של הנתונים:
1. דפדפן האינטרנט שולח בקשה אל השרת.
2. השרת פונה אל התוכנה שרצה עליו ומחפש את הקובץ הנדרש.
3. לאחר הרצת הקובץ הוא מייבא את קוד ה-PHP ושולף נתונים ממסד הנתונים בעת הצורך.
4. השרת מחזיר נתונים אל הדפדפן בשפת HTML.
איך להשתמש בשפת PHP?
תחילה יש ליצור קובץ בשם עם סיומת php.
בראש המסמך יש להודיע למפרש השפה שנקודה זו יש קוד PHP ויש לפרשו בהתאם.
php?>
ובסיום המסמך:
<?
ניתן להתחיל ולסיים קוד PHP בעזרת קיצור (דרך לא מומלצת):
?>
<?
כל שורה בשפת PHP חייבת להסתיים בנקודה פסיק ; כדי להודיע שהפקודה הסתיימה וניתן לעבוד לפקודה הבאה.
בשורה הבאה יש להוסיף ()phpinfo ולאחר מכן לשמור.
<?php phpinfo(); ?>
כאשר ניגש אל העמוד, הוא יציג מידע אודות הגרסא, מערכת ההפעלה ועוד.
כדי להחזיר נתונים אל המשתמש יש להשתמש בפקודה echo.
<?php echo 'Hello World!'; ?>
ניתן לבצע פעולות מתמטיות וחישובים שונים:
<?php echo 5 + 5; ?>
כדי לחבר 2 ערכים יחד, יש להשתמש בנקודה (.) :
<?php echo 'Hello World! '.'My name is Fabio'; ?>
במידה ורוצים לרדת שורה, נשתמש בתג HTML שנקרא <br> באופן הבא:
<?php echo 'Hello World!<br>'.'My name is Fabio'; ?>
הערות:
במידה ורוצים להוסיף הערה של שורה אחת יש להוסיף // לפני אותה שורה:
<?php //this is a comment. ?>
ניתן לבצע הערה של שורה אחת גם באמצעות סולמית # לפני אותה השורה:
<?php #this is a comment. ?>
ניתן לבצע הערה של מספר שורות על ידי הצבה של */ בהתחלה ולאחר מכן /* בסיום.
<?php /* This is a very long comment. */ ?>
משתנים:
למשתנים בשפת PHP יש חוקיות:
* חייבים להתחיל בדולר.
* יכולים לכיל: מספרים, אותיות, קו תחתונים _ או מקפים -
* יש רגישות לאותיות גדולות וקטנות.
* המשתנים לא יכולים להכיל רווחים.
<?php $name = 'Fabio'; ?>
ניתן להגדיר משנה ריק באופן הבא:
<?php $name; ?>
<?php $name = 'Fabio '; $middle = 'Lior '; $last = 'Rahamim'; $full = $name.$middle.$last; echo $full; ?>
ניתן להצהיר על משתנה קבוע שלא ניתן לשנותו באופן הבא:
<?php $name = 'lior' define('name', 'lior'); echo name; ?>
פונקציות שמורות:
שימוש בפונקציה שמורה יעשה באופן הבא:
<?php $name = 'Fabio '; echo strtolower($name); ?>
strtolower() - מציג מחרוזת באותיות קטנות
strtoloupper() - מציג מחרוזות באותיות גדולות
ucfirst() - מציג מחרוזות עם אות ראשונה גדולה
str_replace("old", "new", $var) - החלפת מחרוזת אחת באחרת
strstr($name, 'fabio') - חיפוש בתוך משתנה
srt_len($name) - אורך של משתנה
trim() - מוחק רווחים
strpos() - חיפוש מיקום של מחרוזת
strchr() - חיפוש תו
rand() - מספר רנדומלי
rand(1, 5) - מספר רנדומלי מ-1 עד 5
fmod() - מודולו
round() - מעגל
ceil() - מעגל למעלה למספר שלם
floor() - מעגל למטה למספר שלם
is_bool() - בודק אם המשתנה הוא בוליאני
is_float() - בודק אם המשתנה הוא שבר
is_str() - בודק אם המשתנה הוא מחרוזת
is_null() - NULL בודק אם המשתנה הוא
gettype() - בודק מה הסוג של המשתנה
settype() - מגדיר את סוג המשתנה לסוג אחר
empty() - בודק אם המשתנה ריק
count() - מציג את כמות האינדקסים במערך
min() - מציג את האינדקס הראשון במערך
max() - מציג את האינדקס האחרון במערך
sort() - מסדר את האינדקסים מהקטן לגדול
rsort() - מסדר את האינדקסים מהגדול לקטן
implode() - הופך את המערך למחרוזת
explode() - הופך מחרוזת למערך
in_array() - בודק אם ערך כלשהו נמצא במערך ומחזיר נכון או לא
מערכים:
מערך הוא משתנה עם תאים, ניתן להגדיר מערך ריק באופן הבא:
<?php $names = Array(); ?>
ניתן להכניס נתונים אל המערך אך יש להפרידם באמצעות פסיק:
<?php $names = Array('lior','david','yoram','gilad'); ?>
ניתן להדפיס תא מתוך המערך באופן הבא:
(במקרה שלהלן נדפיס את השם יורם מכיוון שהספירה מתחילה מאפס).
(במקרה שלהלן נדפיס את השם יורם מכיוון שהספירה מתחילה מאפס).
<?php $names = Array('lior','david','yoram','gilad'); echo $names[2]; ?>
לא ניתן להדפיס מערך שלם בעזרת echo ולכן נשתמש בפונקציית ()print_r:
<?php $names = Array('lior','david',Array(26,28)); print_r($names); ?>
במידה ונרצה להדפיס את האינדקס הראשון של המערך השני:
<?php $names = Array('lior','david',Array(26,28)); echo $names[2][0]; ?>
במידה ונרצה לשנות את הערך הראשון במערך השני:
<?php
$names = Array('lior','david',Array(26,28));
$names[2][0] = 23;
echo $names[2][0];
?>
במידה ונרצה לקבל תוצאה ברורה יותר נשתמש בתגית <pre> באופן הבא:
<?php echo '<pre>'; $names = Array('lior','david',Array(26,28)); print_r($names); echo '</pre>'; ?>
מערך כמילון (מבנה נתונים) - Associative Arrayמגדיר אוסף של מפתחות וערכים. המילון מורכב ממיפוי חד-ערכי בין מפתח (Key) לערך (Value).
<?php $names = Array( 'firstname' => 'Fabio', 'lastname' => 'rahamim', 'age' => 26 ); print_r($names); ?>
כדי להדפיס אובייקט מתוך המערך נוכל פשוט להשתמש במפתח.
<?php $names = Array( 'firstname' => 'Fabio', 'lastname' => 'rahamim', 'age' => 26 ); echo $names['firstname']; ?>
תנאים ולולאותתנאי מתרחש כאשר ישנם 2 ערכים ואנו רוצים להשוות ביניהם נשתמש ב-if:
<?php $a = 1; $b = 2; if($a < $b){ echo "2 is bigger"; } ?>
במידה ורוצים להוסיף תנאי נגדי נעשה זאת באופן הבא:
<?php $a = 1; $b = 2; if($a < $b){ echo "2 is bigger"; } else { echo "1 is bigger": } ?>
במידה ורוצים להוסיף תנאי נוסף נעשה זאת באופן הבא:
<?php $a = 1; $b = 2; $c = 3; if($a < $b){ echo "2 is bigger"; } elseif($b != $c){ echo "2 is not equal to 3"; } else { echo "1 is bigger": } ?>
כאשר יש מספר ערכים שנרצה להשוות ביניהם נשתמש ב-Switch:
<?php $age = '26'; switch($age){ case 14: echo 'Young'; case 20: echo 'Fine'; case 26: echo 'Great'; } ?>
לולאת While
ביטוי כאשר הוא מחזיר אמת, הלולאה תמשיך ותתבצע.
<?php $age = '1'; while($age< 10){ $age++; } ?>
לולאת For
כמעט זהה ללולאת While ומורכבת משלושה חלקים בתוך הסוגריים שלה: הגדרת המשתנה הראשוני; תנאי ההמשכיות; ופעולת ההרצה. לולאת הFOR אינה צריכה את שלושת הקטעים שלה כדי לפעול. לעיתים, כאשר המשתנה כבר הוגדר מראש, אין צורך להכניס אותו לתוך הלולאה;
<?php for($i=1;$i<=3;$i++){ echo "Loop number $i.\n"; } ?>
לולאת Forearch
לולאה העוברת על מערך (פעם אחת על כל ערך) ויכולה להשתמש בערך במהלך האיטרציה:
מבנה הלולאה:
foreach ($array as $value){ statement; }
<?php $myArray = array('one ', 'two ', 'three'); foreach ($myArray as $num) { echo $num; } ?>
foreach ($array as $key => $value){ statement; }
<?php
$names = array(
'firstname' => 'Fabio ',
'lastname' => 'rahamim ',
'age' => 26,
);
foreach ($names as $attribute => $info) {
echo $info;
}
?>
פונקציות:
באמצעות פונציות ניתן להגדיר קטע של קוד שניתן לקרוא לו בכל פעם במקום לכתוב את אותו קוד שוב ושוב. יש לשים לב שהמשתנים של הפונקציה "שונים" משאר המשתנים בתוכנית.
<?php
function funcName($a, $b){
echo 'this function is ok!';
}
funcName();
?>
דוגמה נוספת:
<?php
function hello_to($word){
echo 'hello {$word}';
}
hello_to('Brother!');
?>