
- Jika constructor adalah function yang akan dipanggil ketika object dibuat
- Destructor adalah function yang akan di panggil ketika object dihapus dari memory/ram
- Biasanya ketika object tersebut sudah tidak lagi digunakan, atau ketika aplikasi akan mati
- Untuk membuat function destructor , kita bisa menggunakan nama function __destruct()
- Khusus untuk destructor, kita tidak boleh menambahkan function argument
- Dalam penggunaan sehari-hari, ini misal cocok untuk menutup koneksi ke database atau menutup proses menulis ke file, sehingga tidak terjadi memory leak
<?php
class Person
{
const AUTHOR = "Programmer Zaman Now";
var ?string $name;
var ?string $address = null;
var string $country = "Indonesia";
public function __construct(string $name, ?string $address)
{
$this->name = $name;
$this->address = $address;
}
function sayHello (?string $name)
{
if (is_null($name)) {
echo "Hi, my name is {$this->name}" . PHP_EOL;
} else {
echo "Hello $name, my name is $this->name" . PHP_EOL;
}
}
function info()
{
echo "AUTHOR : " . self::AUTHOR . PHP_EOL;
}
//Destructor
function __destruct()
{
echo "Object person $this->name is destroyed" . PHP_EOL ;
}
}
<?php
require_once "data/Person.php";
$eko = new Person("Eko", "Subang");
$joko = new Person("Joko", "Subang");
echo "Program Selesai" . PHP_EOL;