Bag. 6 : Cara Penggunaan Pseudo-Variable $this dalam Objek PHP



Arti Pseudo-Variable $this dalam Pemrograman Objek PHP

Melanjutkan tutorial mengenai variabel $this, kali ini kita akan melihat cara penggunaannya melalui contoh program PHP yang lebih lengkap.

 

Dalam contoh berikut, saya membuat class laptop dengan method yang saling memanggil method lain menggunakan variabel $this, silahkan anda pahami alur kerja dari class dan objek dibawah ini:

 

<?php

// buat class laptop

class laptop {

 

   // buat property untuk class laptop

   public $pemilik;

   public $merk;

 

   // buat method untuk class laptop

   public function hidupkan_laptop() {

     return "Hidupkan Laptop $this->merk punya $this->pemilik";

   }

 

   public function matikan_laptop() {

     return "Matikan Laptop $this->merk punya $this->pemilik";

   }

 

   public function restart_laptop() {

     $matikan=$this->matikan_laptop();       

     $hidupkan= $this->hidupkan_laptop();

     $restart=$matikan."<br />".$hidupkan;

     return $restart;

   }

}

 

// buat objek dari class laptop (instansiasi)

$laptop_anto = new laptop();

 

// isi property objek

$laptop_anto->pemilik="Anto";

$laptop_anto->merk="Asus";

 

 

echo $laptop_anto->hidupkan_laptop();

// hasil: "Hidupkan Laptop Asus punya Anto";

 

echo "<br />";

 

echo $laptop_anto->matikan_laptop();

// hasil: "Matikan Laptop Asus punya Anto";

 

echo "<br />";

 

echo $laptop_anto->restart_laptop();

// hasil:

// "Matikan Laptop Asus punya Anto";

// "Hidupkan Laptop Asus punya Anto";

?>

Contoh class laptop diatas, mirip dengan contoh-contoh kita sebelumnya, dengan beberapa modifikasi. Saya membuat 2 property: $pemilik dan $merk, kemudian membuat 3 method: hidupkan_laptop(), matikan_laptop(), dan restart_laptop().

 

Dalam method hidupkan_laptop(), dan saya memanggil property $pemilik dan $merk. Karena property ini nantinya akan dipanggil dari objek, maka kita harus menggunakan variabel $this:

 

"Hidupkan Laptop $this->merk punya $this->pemilik";

 

Variabel $this nantinya akan ‘merujuk’ kepada objek yang memanggil method. Misalkan kita memiliki objek $laptop_anto, maka hasil yang dijalankan adalah:

 

"Hidupkan Laptop $laptop_anto ->merk punya $laptop_anto->pemilik";

 

Method matikan_laptop() juga menggunakan pola perintah yang sama.

 

Untuk method restart_laptop(), di dalam struktur method ini saya memanggil method matikan_laptop() dan hidupkan_laptop(). Karena alasan yang sama dengan property $pemilik dan $merk, saya juga menggunakan variabel $this untuk memanggil method. Hasil pemanggilan kedua method, kemudian disambung dan disimpan kedalam variabel $restart.

 

public function restart_laptop() {

   $matikan=$this->matikan_laptop();       

   $hidupkan= $this->hidupkan_laptop();

   $restart=$matikan."<br />".$hidupkan;

   return $restart;

}