Metóda __destruct
Funkcia __destruct je magickou metódou v PHP, ktorá je automaticky volaná pri odstránení objektu z pamäte. To sa deje buď keď skript ukončí činnosť, alebo keď je objekt explicitne zničený. Metóda je užitočná pre uvoľnenie zdrojov (napríklad zatvorenie súborových deskriptorov alebo spojení s databázou).
Syntax
class MyClass {
public function __destruct() {
// kód destruktora
}
}
Príklad
Jednoduchý príklad triedy s destruktorom, ktorý vypíše správu pri zničení objektu:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Spustí destruktor
?>
Výsledok vykonania kódu:
'Object destroyed'
Príklad
Príklad s uvoľnením zdrojov (zatvorenie súboru):
<?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');
// Práca so súborom...
unset($handler); // Automaticky zatvorí súbor
?>
Výsledok vykonania kódu:
'File closed'
Pozri tiež
-
metódu
__construct,
ktorá je konštruktorom triedy