__destruct методи
__destruct функцисяси PHP даги магик методи бўлиб, объект хотирадан ўчирилганида автоматик жараёнда чақирилади. Бу скрипт иши тугаганида ёки объект аниқ уничтож килинганида содир булади. Метод ресурсларни бўшатиш учун (масалан, файл дескрипторларини ёки БД билан уланишларни ёпиш) фойдалидир.
Синтаксис
class MyClass {
public function __destruct() {
// деструктор коди
}
}
Мисол
Объект уничтож килинганида хабар чиқарадиган деструкторга эга бўлган оддий класс мисоли:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Деструкторни чақиради
?>
Кодни бажариш натижаси:
'Object destroyed'
Мисол
Ресурсларни бўшатиш билан боглик мисол (файлни ёпиш):
<?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');
// Файл билан ишлаш...
unset($handler); // Файлни автоматик ёпади
?>
Кодни бажариш натижаси:
'File closed'
Шунингдек қаранг
-
__constructметоди,
бу класс конструкторидир