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