PHP/בנאים
מראה
< PHP
כאשר אנו עושים מופע חדש של מחלקה אנו עושים כך:
$db = new database;
ואז אנחנו יכולים לגשת לכל הפונקציות והמאפיינים של המחלקה דרך המשתנה $db, אך מה אם אנחנו רוצים שתתבצע פעולה כל שהיא כאשר אנו עושים מופע חדש של מחלקה? בשביל זה יש את הבנאי. הבנאי מתבצע כאשר אנו קוראים למחלקה. מחלקה לדוגמא:
class User {
private $username;
private $email;
public function login($usernmae, $password){
...
}
}
ונגיד שאני רוצה שברגע שאני קורא למחלקה זה יבדוק אם המשתמש שגולש באתר כרגע מחובר. אז אני יכול ליצור פונקציה חדשה שנקראת __constructor או פונקציה שנקראת בשם של המחלקה.
class User {
private $username;
private $email;
public function User() {
..
}
public function login($usernmae, $password){
...
}
}
דוגמא נוספת זה במחלקה mysqli שאחראית על חיבור עם מסד הנתונים. ברגע שאני יוצר אותה אני צריך להזין נתונים של החיבור:
$db = new mysqli('host', 'user', 'password', 'database', 'port');