Metod __destruct
Funkcija __destruct je magična metoda u PHP-u, koja se automatski poziva pri brisanju objekta iz memorije. Ovo se dešava ili kada skripta završi rad, ili kada se objekat eksplicitno uništi. Metod je koristan za oslobađanje resursa (na primer, zatvaranje fajl deskriptora ili veza sa bazom podataka).
Sintaksa
class MyClass {
public function __destruct() {
// kod destruktora
}
}
Primer
Jednostavan primer klase sa destruktorom, koji ispisuje poruku pri uništavanju objekta:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Pozvaće destruktor
?>
Rezultat izvršavanja koda:
'Object destroyed'
Primer
Primer sa oslobađanjem resursa (zatvaranje fajla):
<?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');
// Rad sa fajlom...
unset($handler); // Zatvoriće fajl automatski
?>
Rezultat izvršavanja koda:
'File closed'
Pogledajte takođe
-
metod
__construct,
koji je konstruktor klase