__destruct metodu
__destruct funksiyası PHP-də obyekt yaddaşdan silindiyi zaman avtomatik çağırılan sehrli metoddur. Bu, ya skript işini bitirdikdə, ya da obyekt aşkar şəkildə məhv edildikdə baş verir. Metod resursları azad etmək üçün (məsələn, fayl deskriptorlarını və ya DB əlaqələrini bağlamaq) faydalıdır.
Sintaksis
class MyClass {
public function __destruct() {
// destruktor kodu
}
}
Nümunə
Obyekt məhv edildikdə mesaj çıxaran destruktoru olan sadə sinif nümunəsi:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Destruktoru çağıracaq
?>
Kodun icrasının nəticəsi:
'Object destroyed'
Nümunə
Resursları azad etmə nümunəsi (faylı bağlamaq):
<?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');
// Fayl ilə iş...
unset($handler); // Faylı avtomatik bağlayacaq
?>
Kodun icrasının nəticəsi:
'File closed'
Həmçinin bax
-
__constructmetodu,
sinfin konstruktorudur