Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Fungsi Variabel $this dalam OOP PHP

Saat kita melihat sebuah kode program khususnya pada kode program PHP OOP, kita sering menemui variabel $this. Apa itu variabel $this ? dan fungsinya untuk apa ?. Variabel $this merupakan variabel khusus PHP dalam OOP yang digunakan untuk menunjuk sebuah objek, ketika kita mau mengaksesnya dalam sebuah class. $this juga sering disebut dengan pseuo-variable.

Perhatikan contoh kode program berikut ini :

<?php
class motor {

	public $pemilik;
	public $merek;
	public $warna;

	public function hidupkan_motor() {
		return "Hidupkan motor";
	}
	public function matikan_motor() {
		return "Matikan motor";
	}
}

$motor_doni = new motor();
$motor_dina = new motor();

?>
Jika kode diatas dijalankan di web broser maka tidak tampil apa-apa alias blank. Kenapa ? karena admin belum memanggil method apapun dari objek tersebut.

Pada class motor terdapat tiga property yang belum mempunyai nilai , yaitu: $pemilik, $merek dan $warna. Dan juga terdapat dua method yaitu hidupkan_motor() dan matikan_motor() Yang nantinya akan mengembalikan nilai string. Seluruh property dan method yang ada pada class motor dapat diakses dari luar class karena memiliki hak akses public.

Setelah kode Class Kemudian admin  men-instansiasi ke dalam dua objek $montor_doni dan $montor_dina.

Agar tampilan kode diatas tidak kosong mari kita tambahkan property $pemilik untuk kedua objek diatas. Tambahkan kode berikut ini di bawahnya

$motor_doni->pemilik = "Doni";
$motor_dina->pemilik = "Dina";

Agar nilai property diatas bisa tampil maka tambahkan kode berikut ini dibawahnya.

echo $motor_dina->pemilik;

Sampai sini kita sudah mempelajari bagaimana cara mengakses property objek, dari objek itu sendiri, yaitu dengan mengunakan kode format $nama_objek->nama_property.

Sekarang coba perhatikan kode berikut ini kita men-set nilai-nya berada dalam class

<?php
class motor {

	public $pemilik="Dina";
	public $merek;
	public $warna;

	public function hidupkan_motor() {
		return "Hidupkan motor";
	}
	public function matikan_motor() {
		return "Matikan motor";
	}
}

$motor_baru = new motor();
$motor_lama = new motor();

echo $motor_baru->pemilik; // Dina
echo $motor_lama->pemilik; // Dinas

echo $motor_baru->hidupkan_motor(); // Hidupkan Motor
echo $motor_lama->matikan_motor(); // Matikan Motor

?>
Jika kode diatas dijalankan maka isinya akan seperti berikut : “ DinaDinaHidupkan motorMatikan motorSekarang kita masuk bagian yang penting bagamaina jika kita ingin saat method hidupkan_motor() di panggil, yang akan ditampilkanHidupkan Motor Dina “ . Dina harus diambil dari property $pemilik dan tidak boleh menambahkan Dina dalam isi return.

Apakah kode programnya seperti berikut ini ?

<?php
class motor {

	public $pemilik="Dina";
	public $merek;
	public $warna;

	public function hidupkan_motor() {
		return "Hidupkan motor $pemilik";
	}
	public function matikan_motor() {
		return "Matikan motor";
	}
}

$motor_baru = new motor();

echo $motor_baru->hidupkan_motor(); // Hidupkan Motor

?>
Coba jalankan kode program diatas dan lihat apa yang terjadi pada tampilan broser anda ? maka hasilnya adalah error seperti berikut ini :

Notice: Undefined variable: pemilik in C:\xampp\htdocs\oop_php\index.php on line 9
Hidupkan motor

Dapat kita pahami dari error yang ada diatas bahwa variabel pemilik ($pemilik) tidak terdefinisi pada baris 9. ( return "Hidupkan motor $pemilik"; ). Bukankah $pemilik=”Dina” yang sudah di definisikan di property class ?

Dalam kode program diatas kita ini, kita sedang mencoba mengakses property objek dari dalam class.

Agar kita dapat memahaminya, ingat bahwa class hanya sebuah kerangka atau blue print. Yang nantinya semua property dan method akan dikases dari dalam objek bukan dari dalam class.

Kode program diatas error karena variabel $pemilik tidak dapat terdefinisi karena $pemilik ada didalam konteks class . (Bukan Objek) agar kode program diatas tidak error maka perhatikan pada baris ke 9 kemudian rubah kodenya seperti berikut ini :

return "Hidupkan motor $this->pemilik";
Save kemudian jalankan lagi maka error-nya akan hilang. Karena variabel $this telah merujuk pada objek yang sedang menginstansiasi class.

Kali ini kita sudah membahas mengenai variabel $this pada OOP PHP. Mulai dari pengertian $this, fungsi $this yang digunakan sebagai penunjuk objek, saat kiata mengaksesnya dari dalam class. Dan kita juga sudah belahar membuat contoh kode programnya.

Post a Comment for "Fungsi Variabel $this dalam OOP PHP"