Metoden __destruct
Funktionen __destruct är en magisk metod i PHP som automatiskt anropas när ett objekt tas bort från minnet. Detta händer antingen när skriptet avslutas eller när objektet uttryckligen förstörs. Metoden är användbar för att frigöra resurser (till exempel att stänga filhandtag eller databasanslutningar).
Syntax
class MyClass {
public function __destruct() {
// destruktorkod
}
}
Exempel
Ett enkelt exempel på en klass med en destruktor som skriver ut ett meddelande när objektet förstörs:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Kommer att anropa destruktorn
?>
Resultat av att köra koden:
'Object destroyed'
Exempel
Exempel på frigörande av resurser (stängning av fil):
<?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');
// Arbete med filen...
unset($handler); // Stänger filen automatiskt
?>
Resultat av att köra koden:
'File closed'
Se även
-
metoden
__construct,
som är klassens konstruktor