Meetod __destruct
Funktsioon __destruct on PHP-s maagiline meetod, mida kutsutakse automaatselt välja, kui objekt mälust eemaldatakse. See toimub kas siis, kui skript lõpetab töö, või kui objekt hävitatakse eksplitsiitselt. Meetod on kasulik ressursside vabastamiseks (näiteks failikirjeldite või andmebaasiühenduste sulgemiseks).
Süntaks
class MyClass {
public function __destruct() {
// destruktori kood
}
}
Näide
Lihtne näide klassist destruktoriga, mis väljastab sõnumi objekti hävitamisel:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Kutsub välja destruktori
?>
Koodi täitmise tulemus:
'Object destroyed'
Näide
Näide ressursside vabastamisega (faili sulgemine):
<?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');
// Töö failiga...
unset($handler); // Suleb faili automaatselt
?>
Koodi täitmise tulemus:
'File closed'
Vaata ka
-
meetod
__construct,
mis on klassi konstruktor