Tutorial OOP PHP : Memanggil Method dari class lain
Untuk dapat mengakses method dari class lain, tentunya terlebih dahulu kita harus sebuah class yang nantinya akan dipanggil pada class yang lain. Dalam contoh ini kita memilki dua class yang berbeda : class Phone_Number dan class Panggil.
Untuk memanggil method dari class lain, kita memiliki dua cara pembuatan class :
- Cara Pertama : Kedua class dibuat pada file yang terpisah.
- Cara Kedua : Kedua class dibuat pada file yang sama.
Memangil method dari class lain dengan cara pertama
Seperti yang diutarakan diatas, pada cara pertama class Phone_Number dibuat pada file andi.php dan class Panggil berada pada file panggil.php.Berikutnya program pada file andi.php :
<?php
class Phone_Number {
// properti
var $email;
public function tampung($data) {
$this->email=$data;
return $this;
}
public function cetak(){
echo $this->email;
}
}
?>
Pada file andi.php kita membuat class Phone_Number yang memiliki property email dan method tampung serta method cetak.Kemudian kita buat program untuk file panggil.php :
<?php include "andi.php"; class Panggil{ var $website; public function homepage($url) { $this->andi = new Phone_Number(); // Memanggil class Phone_Number $this->andi->tampung("andri@dtc-ilmu.com"); // Memanggil method tampung pada class Phone_Number $this->website=$url; } public function index() { echo "Emailnya adalah :" ; echo $this->andi->cetak() . "<br />"; echo "Alamat website :"; echo $this->website; } } $Var = new Panggil(); // Membuat object Var $Var->homepage("ilmu-detil.blogspot.com"); // Memanggil method homepage $Var->index(); // memanggil method index ?>Pada program panggil.php, kita memiliki property website yang merupakan milik class Panggil dan dua method yaitu : method homepage dan method index.
Pada method homepage, kita memanggil class Phone_Number yang terdapat pada file andi.php. Agar dapat memanggil class lain pada file yang berbeda digunakan keyword include, dalam kasus ini kita menggunakan include "andi.php". Setelah memanggil class Phone_Number dilanjutkan dengan pembuatan object andi dan pemanggilan method cetak yang berada pada class Phone_Number (terdapat pada file andi.php).
Pemberian nilai untuk property website dilakukan melalui method homepage. Sedangkan untuk mencetak object Var (nilai property website) dan object andi(nilai property email) dilakukan pada method index. Khusus untuk property objek andi, proses cetak nilainya dilakukan pada method cetak yang dipanggil dalam method index.
Jika kita jalankan file panggil.php pada browser, maka outputnya ditunjukkan oleh Gambar.1 dibawah ini :
Gambar.1 |
Memanggil method dari class lain dengan cara kedua
Pada cara kedua ini, kedua class Phone_Number dan class Panggil diletakkan dalam satu file (tidak pada file terpisah). Pada contoh ini kita berikan nama file gabung.php:<?php class Phone_Number { // properti var $email; public function tampung($data) { $this->email=$data; return $this; } public function cetak(){ echo $this->email; } } ?> <?php class Panggil{ var $website; public function homepage($url) { $this->andi = new Phone_Number(); // Memanggil class Phone_Number $this->andi->tampung("andri@dtc-ilmu.com"); // Memanggil method tampung pada class Phone_Number $this->website=$url; } public function index() { echo "Emailnya adalah :" ; echo $this->andi->cetak() . "<br />"; echo "Alamat website :"; echo $this->website; } } $Var = new Panggil(); // Membuat object Var $Var->homepage("ilmu-detil.blogspot.com"); // Memanggil method homepage $Var->index(); // memanggil method index ?>Outputnya ditunjukkan oleh Gambar.2 dibawah ini :
Gambar.2 |
Dari cara pertama dan cara kedua menghasilkan output yang sama. Cara yang mana digunakan tidak masalah, yang terpenting pemahaman bagaiman kita dapat mengakses sebuah method dari class yang berbeda.