Metoda __destruct
Funkcja __destruct jest magiczną metodą w PHP, która jest automatycznie wywoływana przy usuwaniu obiektu z pamięci. Dzieje się tak albo gdy skrypt kończy działanie, albo gdy obiekt jest jawnie niszczony. Metoda jest przydatna do zwalniania zasobów (na przykład zamykania deskryptorów plików lub połączeń z bazą danych).
Składnia
class MyClass {
public function __destruct() {
// kod destruktora
}
}
Przykład
Prosty przykład klasy z destruktorem, który wyświetla wiadomość przy niszczeniu obiektu:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Wywoła destruktor
?>
Wynik wykonania kodu:
'Object destroyed'
Przykład
Przykład ze zwalnianiem zasobów (zamknięcie pliku):
<?php
class FileHandler {
private $file;
public function __construct($filename) {
$this->file = fopen($filename, 'r');
}
public function __destruct() {
if ($this->file) {
fclose($this->file);
echo 'File closed';
}
}
}
$handler = new FileHandler('example.txt');
// Praca z plikiem...
unset($handler); // Zamknie plik automatycznie
?>
Wynik wykonania kodu:
'File closed'
Zobacz też
-
metoda
__construct,
który jest konstruktorem klasy