Post Terbaru
Loading...

Rabu, 20 April 2016

PHP OOP Part 6 - Penggunaan _construct, _destruct dan unset()

in OOP
Di Part 6 ini kita akan membahas method khusus yang nantinya akan sering kawan-kawan gunakan dalam pemrograman OOP

construct destruct

Constructor

Constructor merupakan salah satu method khusus yang bisa berjalan diawal secara otomatis saat objek dibuat (instansiasi) atau lebih jelasnya saat ketika syntax “new” dijalankan.

Biasa constructor digunakan untuk saat proses awal untuk menyiapkan sebuah objek, contohnya mengisi nilai awal di property, memanggil method internal, pokoknya intinya proses construct ini biasa kita manfaatkan untuk memproses class saat objek di instansiasi.

Berikut Contoh Penggunaan Method __construct

.
.
<?php
//class dealer
class dealer {
  //property
   private $produk = "Satria FU";
   private $jenis = "Semi Sport";
   //method dengan penggunaan _construct
   public function __construct(){
     echo "Ini Tampilan Construct";
   }
   //method
   public function prod_dealer(){
     return "Produk $this->produk jenis $this->jenis";
   }
}
//objek dari class dealer -> proses instansiasi
$prd = new dealer();
echo "<br>".$prd->prod_dealer();
?>
Berikut Hasilnya:

construct

Keterangan:
Seperti yang bisa kita lihat, bahwasannya method construct tanpa kita deklarasikan untuk dipanggil, dia akan tetap tampil saat proses instansiasi berjalan.

Destructor

Destructor merupakan sebenarnya prinsipnya hampir sama dengan constructor yang bisa dijalankan otomatis saat sebuah objek dihapus.

Di PHP, semua objek secara otomatis dapat dihapus saat halaman PHP dimana objek itu berada selesai diproses. Tapi kita juga bisa menghapus objeknya secara manual.

Destructor sendiri biasanya dimanfaatkan untuk ‘membersihkan’ satu atau beberapa variabel, ataupun mengeksekusi satu atau beberapa proses tertentu sebelum objek akan dihapus.

Berikut Contoh Penerapannya Dasarnya:

.
.
<?php
//class dealer
class dealer {
  //property
   private $produk = "Satria FU";
   private $jenis = "Semi Sport";
   //method
   public function prod_dealer(){
     return "Produk $this->produk jenis $this->jenis";
   }
   //method dengan penggunaan _destruct
   public function __destruct(){
     echo "Ini Tampilan Destruct";
   }
}
//objek dari class dealer -> proses instansiasi
$prd = new dealer();
echo $prd->prod_dealer()."<br/>";
?>
Hasilnya Seperti Berikut:

_destruct

Keterangan:
Dengan menggunakan method __destruct() yang tidak lain adalah destructor dari class dealer. maka method ini akan dipanggil saat objek dihapus.

Namun di PHP selain kita bisa menghapus objek secara otomatis, kita juga bisa menghapus secara manual dengan memanfaatkan fungsi unset(). Langsung aja kita praktekkan:

.
.
<?php
//class dealer
class dealer {
  //property
   private $produk = "Satria FU";
   private $jenis = "Semi Sport";
   //method
   public function prod_dealer(){
     return "Produk $this->produk jenis $this->jenis";
   }
   //method dengan penggunaan _destruct
   public function __destruct(){
     echo "Ini Tampilan Destruct";
   }
}
//objek dari class dealer -> proses instansiasi
$prd = new dealer();
echo $prd->prod_dealer()."<br/>";
//penghapusan objek secara manual
unset($prd);
echo "<br />";
echo "Objek Sudah Dihapus<br>";

?>
Dan Hasilnya Seperti Ini:

unset

Keterangan:
Jadi dalam syntax tersebut prinsipnya adalah, method __destruct akan dijalankan terlebih dahulu, dan selanjutnya fungsi unset() baru dijalankan, sehingga hasil dari __destruct akan muncul terlebih dahulu, sekarang kalau kita coba menghapus fungsi unset($prd), maka hasilnya akan seperti berikut

unset no set

Jadi saat fungsi unset($prd) kita hapus, maka hasil dari method __destruct akan di eksekusi di akhir proses instansiasi.

Sekian pembahasan kali ini mengenai __construct, __destruct, dan juga unset, semoga jelas, dan terima kasih atas kunjungannnya.

Kalau ada yang kurang jelas, kawan-kawan bisa meninggalkan jejak di kolom komentar untuk saya tindak lanjuti..hehe

Silakan komen dengan memperhatikan aturan berikut
1. Komen relevan, sesuai dengan apa yang dibahas
2. Komen tidak mengandung unsur SARA
3. Mau promo apapun silakan yang penting perhatikan poin 1 dan 2
4. Perhatikan poin 1-3 aja
5. Poin 5 hanya buat iseng aja kok hehehe

#HAPPYCODING