Konstruktory i destruktory w PHP
Konstruktor jest to specjalna metoda w strukturze klasy, która jest wykonywana podczas tworzenia obiektu tej klasy.
To najlepsze miejsce aby wykonać cały inicjujący kod, w tym przypisanie wartości domyślnych do pól.
Składnia
class Nazwa_klasy { function __construct(argument1, argument2, ...) { //kod konstruktora } //inne składowe klasy }
Argumenty w funkcji konstruktora są opcjonalne. Jeżeli je jednak zaimplementujemy, przy tworzeniu obiektu musimy je podać: $obiekt = new Nazwa_klasy(argumenty);
Nazwa funkcji "__construct" informuje PHP, że dana funkcja jest konstruktorem (Uwaga! w nazwie są dwa podkreślenia, a nie jedno). Wcześniej (w wersji PHP 4) konstruktorem była metoda o nazwie takiej samej, jak nazwa klasy.
Destruktor jest to specjalna metoda w strukturze klasy, która jest wykonywana podczas usuwania z pamięci obiektu tej klasy.
To najlepsze miejsce aby wykonać cały kod, który zwalnia zasoby systemowe, wykorzystywane przez metody danej klasy.
Destruktory są rzadziej wykorzystywane.
Składnia
class Nazwa_klasy { function __destruct() { //kod destruktora } //inne składowe klasy }
Czas na przykład
Przykład 1
<?php class Konto
{
private $stan;
function __construct($s)
{
$this->stan = $s;
}
public function setStan($wartosc)
{
$this->stan = $wartosc;
}
public function getStan()
{
return $this->stan;
}
}
$konto1 = new Konto(1000);
echo 'Stan: '.$konto1->getStan().' PLN<br>'; ?>
Użyliśmy konstruktora klasy, w którym przypisujemy do konta kwotę podaną przy tworzeniu obiektu jako argument.
© medianauka.pl, 2021-11-28, A-4287
Data aktualizacji artykułu: 2024-06-30