Методот __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,
кој е конструктор на класата