Метод __destruct
Функцията __destruct е магически метод в PHP, който автоматично се извиква при изтриване на обект от паметта. Това се случва или когато скриптът приключи работа, или когато обектът бива изрично унищожен. Методът е полезен за освобождаване на ресурси (например затваряне на файлови дескриптори или връзки с бази данни).
Синтаксис
class MyClass {
public function __destruct() {
// код на деструктора
}
}
Пример
Прост пример за клас с деструктор, който извежда съобщение при унищожаване на обекта:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Ще извика деструктора
?>
Резултат от изпълнението на кода:
'Object destroyed'
Пример
Пример с освобождаване на ресурси (затваряне на файл):
<?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');
// Работа с файла...
unset($handler); // Затваря файла автоматично
?>
Резултат от изпълнението на кода:
'File closed'
Вижте също
-
метод
__construct,
който е конструктор на клас