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();
?>
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 motor “ Sekarang kita masuk bagian yang penting
bagamaina jika kita ingin saat method hidupkan_motor() di panggil, yang akan
ditampilkan “ Hidupkan 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"