Kaedah __destruct
Fungsi __destruct ialah kaedah ajaib dalam PHP yang dipanggil secara automatik apabila objek dipadamkan dari memori. Ini berlaku sama ada apabila skrip selesai berjalan, atau apabila objek dimusnahkan secara jelas. Kaedah ini berguna untuk membebaskan sumber (contohnya menutup pemegang fail atau sambungan pangkalan data).
Sintaks
class MyClass {
public function __destruct() {
// kod pendestruk
}
}
Contoh
Contoh mudah kelas dengan pendestruk yang memaparkan mesej apabila objek dimusnahkan:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Akan memanggil pendestruk
?>
Keputusan pelaksanaan kod:
'Object destroyed'
Contoh
Contoh dengan pembebasan sumber (menutup fail):
<?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');
// Bekerja dengan fail...
unset($handler); // Akan menutup fail secara automatik
?>
Keputusan pelaksanaan kod:
'File closed'
Lihat juga
-
kaedah
__construct,
yang merupakan pembina kelas