Методи __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,
ки сохтгари синф мебошад