Метад __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
,
які з'яўляецца канструктарам класа