Метод __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
,
который является конструктором класса