Treci la conținutul principal

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():

Prompt
Scrie un script PHP care definește o clasă Fruit cu o funcție __construct() ce acceptă $name și $color, și o metodă get_details(). Creează două obiecte Fruit și afișează detaliile lor.
Ieșire: script PHP

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.