Metoda __destruct
Funksioni __destruct është një metodë magjike në PHP, e cila thirret automatikisht kur objekti fshihet nga memoria. Kjo ndodh ose kur skripta përfundon, ose kur objekti shkatërrohet në mënyrë të qartë. Metoda është e dobishme për të liruar burimet (për shembull, mbylljen e deskriptorëve të skedarëve ose lidhjeve me bazën e të dhënave).
Sintaksa
class MyClass {
public function __destruct() {
// kodi i destruktorit
}
}
Shembull
Një shembull i thjeshtë i një klase me një destruktor, i cili shfaq një mesazh kur objekti shkatërrohet:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Do të thërrasë destruktorin
?>
Rezultati i ekzekutimit të kodit:
'Object destroyed'
Shembull
Shembull me lirimin e burimeve (mbyllja e skedarit):
<?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');
// Punë me skedarin...
unset($handler); // Do ta mbyllë skedarin automatikisht
?>
Rezultati i ekzekutimit të kodit:
'File closed'
Shihni gjithashtu
-
metoda
__construct,
e cila është konstruktori i klasës