Funcția __construct()
Un constructor este o metodă specială numită __construct(). PHP o execută automat de fiecare dată când creezi un obiect nou din clasă cu ajutorul cuvântului cheie new.
Poate primi argumente, pe care le transmiți în momentul creării obiectului, ca în $apple = new Fruit("Apple", "Red");. Astfel, fiecare obiect este configurat imediat cu propriile valori, iar tu scrii mai puțin cod.
Atenție la nume: începe cu două caractere de subliniere (__).
Exemplul următor se bazează pe __construct() pentru a completa proprietățile. Deoarece PHP îl apelează în locul nostru, nu mai este nevoie de un apel separat la o metodă set_details(), iar codul devine mai scurt:
Exemplu de constructor
Setează proprietățile unui obiect la creare cu __construct():
Ieșire: script PHP
<?php
class Fruit {
public $name;
public $color;
function __construct($name, $color) {
$this->name = $name;
$this->color = $color;
}
function get_details() {
echo "Nume: " . $this->name . ". Culoare: " . $this->color .".<br>";
}
}
$apple = new Fruit('Apple', 'Red');
$apple->get_details();
$banana = new Fruit('Banana', 'Yellow');
$banana->get_details();
?>
Explicarea exemplului
Clasa Fruit declară două proprietăți, $name și $color.
Ori de câte ori apare un obiect Fruit nou, __construct() păstrează în aceste proprietăți valorile primite.
Rolul metodei get_details() este să afișeze numele și culoarea fructului.
Linia care creează $apple transmite constructorului valorile „Apple” și „Red”, iar linia care creează $banana face același lucru cu „Banana” și „Yellow”.
La final, apelul get_details() pe fiecare dintre cele două obiecte afișează detaliile fructului respectiv.