Funcția __destruct()
__destruct() este o metodă specială a clasei, pe care PHP o apelează automat când un obiect este distrus sau când scriptul se termină.
Te poți gândi la ea ca la perechea lui __construct(): una rulează când un obiect își începe viața, cealaltă când acea viață se încheie.
Odată ce o clasă are o funcție __destruct(), PHP o va apela pentru tine la sfârșitul scriptului, fără să fie nevoie de vreun apel în codul tău.
Ca și în cazul constructorului, numele începe cu două caractere de subliniere (__).
Exemplul următor folosește împreună ambele funcții speciale: __construct() rulează când este creat fiecare obiect, iar __destruct() rulează când scriptul ajunge la sfârșit:
Exemplu de destructor
Funcția __destruct() afișează detaliile fiecărui fruct după ce scriptul se termină:
Ieșire: script PHP
<?php
class Fruit {
public $name;
public $color;
function __construct($name, $color) {
$this->name = $name;
$this->color = $color;
}
function __destruct() {
echo "Nume: " . $this->name . ". Culoare: " . $this->color .".<br>";
}
}
$apple = new Fruit('Apple', 'Red');
$banana = new Fruit('Banana', 'Yellow');
?>
Sfat util
Sfat: Merită să folosești constructori și destructori, pentru că reduc cantitatea de cod pe care trebuie să o scrii.