Destructor adalah method khusus dalam class yang dipanggil secara otomatis ketika sebuah object dihapus atau keluar dari cakupan (scope). Destructor digunakan untuk membersihkan sumber daya (resource) yang telah digunakan oleh object, seperti menutup koneksi database atau menghapus file sementara. Dalam PHP, destructor dideklarasikan dengan nama __destruct(), mirip dengan constructor, tetapi tanpa parameter.
__destruct()
Berikut adalah contoh sederhana penggunaan destructor dalam PHP:
class Pengguna { function __destruct() { // Kode destructor ditulis di sini } }
Petunjuk:
RUN
<?php class Bangunan { function __destruct() { echo "Sebuah bangunan sedang dihancurkan!"; } } // Membuat object $rumah = new Bangunan(); // Saat script selesai atau object dihapus, destructor akan dipanggil otomatis. unset($rumah);
Class Bangunan memiliki method khusus __destruct() yang akan dipanggil secara otomatis saat object $rumah dihancurkan, baik karena script selesai dieksekusi atau menggunakan unset(). Method ini berguna untuk menjalankan proses akhir seperti menutup koneksi atau menampilkan pesan. Dalam contoh ini, pemanggilan unset($rumah) secara eksplisit menghapus object, sehingga muncul pesan dari destructor.
Class Bangunan
$rumah
unset()
unset($rumah)
Ayo buktikan pemahamanmu!
Lengkapilah kode program berikut agar dapat mencetak informasi bahwa file sementara telah dihapus dari sistem!
<?php class FileSementara { private $namaFile; public function ___($namaFile) { $this->___ = $namaFile; } public function ___() { echo "File {$this->namaFile} telah dihapus dari sistem."; } } $file = new FileSementara("data_tmp.txt"); ___($file); ?>
Seret ke tempat kosong: