Metode __destruct
Funkcija __destruct ir maģiska metode PHP, kas automātiski tiek izsaukta, kad objekts tiek izdzēsts no atmiņas. Tas notiek vai nu kad skripts pabeidz darbību, vai kad objekts tiek tieši iznīcināts. Metode ir noderīga, lai atbrīvotu resursus (piemēram, aizvērtu failu deskriptorus vai savienojumus ar datu bāzi).
Sintakse
class MyClass {
public function __destruct() {
// destruktora kods
}
}
Piemērs
Vienkāršs piemērs klasei ar destruktoru, kas izvada ziņojumu, kad objekts tiek iznīcināts:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Izsauks destruktoru
?>
Koda izpildes rezultāts:
'Object destroyed'
Piemērs
Piemērs ar resursu atbrīvošanu (faila aizvēršana):
<?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');
// Darbs ar failu...
unset($handler); // Automātiski aizvērs failu
?>
Koda izpildes rezultāts:
'File closed'
Skatiet arī
-
metodi
__construct,
kas ir klases konstruktors