__destruct metodi
__destruct funksiyasi PHPda sehrli metod bo'lib, u obyekt xotiradan o'chirilganda avtomatik ravishda chaqiriladi. Bu skript ishi tugaganda yoki obyekt aniq ravishda yo'q qilinganda sodir bo'ladi. Metod resurslarni bo'shatish (masalan, fayl deskriptorlarini yoki DB bilan ulanishlarni yopish) uchun foydalidir.
Sintaksis
class MyClass {
public function __destruct() {
// destruktor kodi
}
}
Misol
Obyekt yo'q qilinganda xabar chiqaradigan oddiy destruktorli klass misoli:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Destruktorni chaqiradi
?>
Kodni bajarish natijasi:
'Object destroyed'
Misol
Resurslarni bo'shatish misoli (faylni yopish):
<?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 bilan ishlash...
unset($handler); // Faylni avtomatik ravishda yopadi
?>
Kodni bajarish natijasi:
'File closed'
Shuningdek qarang
-
metod
__construct,
bu klass konstruktori hisoblanadi