- Komapen.com -
No one can make you feel inferior without your consent.
CONTRUCTOR & DESTRUCTOR
CONTRUCTOR
Constructor adalah method khusus yang akan dijalankan secara otomatis pada saat sebuah objek dibuat (instansiasi), yakni ketika perintah “new” dijalankan.
Constructor biasa digunakan untuk membuat proses awal dalam mempersiapkan objek, seperti memberi nilai awal kepada property, memanggil method internal dan beberapa proses lain yang digunakan untuk mempersiapkan objek.
Cara Menuliskan Contructor
Format penulisan constructor pada prefix / awalan nama method menggunakan tanda underscore dua kali(__). Contohnya :
public function __construct(){
// isinya
}
Kita mulai dari contoh serderhana, silahkan buat sebuah class dengan nama motor dan nama file motor.php.
<?php
class Motor
{
function __construct()
{
echo "<h1>Halo Manusia Bumi, ini Berasal Dari Constructor</h1>";
}
}
$motor1 = new Motor();
Hasilnya:
Halo Manusia Bumi, Ini Berasal Dari Constructor
Perhatikan kode diatas, di dalam method constructor terdapat fungsi dimana untuk mencetak dengan perintah echo pada sebuah string. Maka ketika class di intansitasi oleh object maka otomatis akan memanggil method constructor yang di tandai dengan keyword __construct().
Contoh Constructor:
Untuk memberikan nilai terhadap method constructor dapat di isi saat pertama kali kita mengintansiasi sebuah class.
Dari sini kita paham bahwa kita dapat melakukan pengisian nilai terhadap suatu property yang telah di definisikan di awal.
Pengiriman nilai ke dalam constructor di tandai dengan sebuah paramter di paramter constructor.
<?php
class Motor
{
public $merkMotor;
public function __construct($merk)
{
$this->merkMotor = $merk;
}
public function cetakMerk()
{
return $this->merkMotor;
}
}
$motor1 = new Motor("Yamaha NMax");
echo $motor1->cetakMerk();
Hasilnya:
Yamaha NMax
Perhatikan kode di atas, ketika pertama kali meninstansiasi sebauh class harus memberikan sebuah nilai. Contoh di atas nilai yang kirim dari object yaitu “Satria FU” dan di terima di constructor dengan variable $merk.
Perlu di ketahui variable $merk ini bukan sebuah property melainkan hanya paramter untuk menerima data saja.
Setelah itu di dalam method __construct() memberikan nilai terhadap property $merkMotor dari parameter yang di kirim.
DESTRUCTOR
Destructor adalah method khusus yang dijalankan secara otomatis pada saat sebuah objek dihapus. Di dalam PHP, seluruh objek sebanarnya sudah otomatis dihapus ketika halaman PHP selesai diproses. Tetapi kita juga dapat menghapus objek secara manual.
Destructor biasanya dipakai untuk membersihkan beberapa variabel, atau menjalankan proses tertentu sebelum objek dihapus.
Cara Menuliskan Destructor
Cara membuat destructor di PHP cukup mudah, hanya dengan membuat method __destruct() dan di ikuti proses di dalam method tersebut.
public function __construct(){
// isinya
}
Kita mulai dari contoh serderhana, silahkan buat sebuah class dengan nama motor dan nama file motor2.php
<?php
class Motor
{
public function __destruct()
{
echo "Belajar Motor Online Telah Selesai...";
}
}
$motor1 = new Motor();
Hasilnya:
Belajar Motor Online Telah Selesai
Kode di atas tidak terdapat proses lain sebelum desctuctor di jalankan maka akan otomatis memanggil method __desctruct().
Contoh Destructor:
Silahkan kalian tuliskan kode PHP dibawah ini:
<?php
class Motor
{
public function mulai()
{
echo "Mulai...";
}
public function __destruct()
{
echo "Selesai...";
}
}
$motor1 = new Motor();
$motor1->mulai();
Hasilnya:
Mulai…Selesai
Perhatikan hasil di atas, string teks mulai yang terdapat pada method mulai() akan tercetak terlebih dahulu sebelum proses pada method __destruct() di jalankan.
Latihan Constructor dan Destructor
Latihan1.php
<?php
class Motor
{
public $merkMotor, $ownerMotor;
public function __construct(
$merk = 'Yamaha NMax',
$owner = 'Dody Prabowo'
) {
$this->merkMotor = $merk;
$this->ownerMotor = $owner;
}
public function getData(): array
{
$data = [
'owner' => $this->merkMotor,
'merk' => $this->ownerMotor
];
return $data;
}
public function __destruct()
{
echo "Selesai...";
}
}
$motor1 = new Motor();
echo $motor1->getData()['owner'];
echo "<br>" . $motor1->getData()['merk'] . "<br>";
latihan2.php
<?php
// buat class laptop
class laptop {
private $pemilik = "Andi";
private $merk = "Lenovo";
public function __construct(){
echo "Ini berasal dari Constructor Laptop";
}
public function hidupkan_laptop(){
return "Hidupkan Laptop $this->merk punya $this->pemilik";
}
public function __destruct(){
echo "Ini berasal dari Destructor Laptop";
}
}
// buat objek dari class laptop (instansiasi)
$laptop_andi= new laptop();
echo "<br />";
echo $laptop_andi->hidupkan_laptop();
echo "<br />";
?>
Latihan3.php
<?php
// buat class laptop
class laptop {
private $pemilik = "Andi";
private $merk = "Lenovo";
public function __construct(){
echo "Ini berasal dari Constructor Laptop";
}
public function hidupkan_laptop(){
return "Hidupkan Laptop $this->merk punya $this->pemilik";
}
public function __destruct(){
echo "Ini berasal dari Destructor Laptop"; }
}
// buat objek dari class laptop (instansiasi) $laptop_andi= new laptop();
echo "<br />";
echo $laptop_andi->hidupkan_laptop(); echo "<br />";
// hapus objek $laptop_andi
unset($laptop_andi);
echo "<br />";
echo "Objek Telah Dihancurkan";
?>
Latihan4.php
<?php
// buat class laptop
class laptop {
private $pemilik;
private $merk;
// constructor sebagai pembuat nilai awal
public function __construct($pemilik, $merk) {
$this->pemilik = $pemilik;
$this->merk = $merk;
}
public function hidupkan_laptop() {
return "Hidupkan Laptop $this->merk punya $this->pemilik";
}
}
// buat objek dari class laptop (instansiasi)
$laptop_andi= new laptop("Andi", "Lenovo");
echo $laptop_andi->hidupkan_laptop();
echo "<br />";
$laptop_anto= new laptop("Anto", "Acer");
echo $laptop_anto->hidupkan_laptop();
?>
Selesai✨
Silahkan Berkomentar Dengan Sopan :)