Metoda __destruct
Funkcija __destruct je čarobna metoda v PHP, ki se samodejno pokliče pri brisanju objekta iz pomnilnika. Do tega pride bodisi ko se skripta konča, bodisi ko je objekt izrecno uničen. Metoda je uporabna za sprostitev virov (na primer zapiranje datotečnih deskriptorjev ali povezav z bazo podatkov).
Sintaksa
class MyClass {
public function __destruct() {
// koda destruktorja
}
}
Primer
Preprost primer razreda z destruktorjem, ki izpiše sporočilo pri uničenju objekta:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Pokliče destruktor
?>
Rezultat izvajanja kode:
'Object destroyed'
Primer
Primer s sprostitvijo virov (zapiranje datoteke):
<?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');
// Delo z datoteko...
unset($handler); // Samodejno zapre datoteko
?>
Rezultat izvajanja kode:
'File closed'
Glejte tudi
-
metodo
__construct,
ki je konstruktor razreda