__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методу,
ал класстын конструктору болуп саналат