__construct()
Function __construct() akan dipanggil ketika suatu object di inisialisasi atau dibentuk. Contoh :class Bapak{
private $warna_rambut = 'hitam';
private $warna_kulit = 'sawo matang';
public function __construct(){
echo "object dari class Bapak dibuat";
}
public function makan(){
echo 'makan dengan tangan kanan';
}
}
ketika membuat object dari class Bapak seperti berikut,
$bapak = new Bapak();
"object dari class Bapak dibuat".
__destruct()
__destruct() merupakan kebalikan dari function __construct(). __destruct() dijalankan ketika kita menutup object / membuang object dari class yang sudah tidak digunakan. Ketika kita membuat sebuah object, kita sedang menggunakan memori untuk menyimpan object tersebut jadi ketika object sudah tidak terpakai, tidak serta merta memory menghapus object tersebut. Jadi dengan menggunakan __destruct() kita bisa melakukan sesuatu ketika object tersebut tidak terpakai seperti menulis log, menghapus file yang sudah tidak digunakan dll. Contoh penggunaan :
class Bapak{
private $warna_rambut = 'hitam';
private $warna_kulit = 'sawo matang';
public function __construct(){
echo "object dari class Bapak dibuat";
$this->logfile_handle = fopen('/tmp/log.txt', 'w');
}
public function __destruct(){
fclose($this->logfile_handle);
}
public function makan(){
echo 'makan dengan tangan kanan';
}
}
__toString()
Function __toString() berguna ketika kita ingin memanggil sebuah object dan mengeluarkan sesuatu string lewat object tersebut. Contoh :class Bapak{
private $warna_rambut = 'hitam';
private $warna_kulit = 'sawo matang';
public function __construct($name){
$this->name = $name;
}
public function __toString(){
echo $this->name." adalah object dari class Bapak";
}
public function makan(){
echo 'makan dengan tangan kanan';
}
}
dengan menggunakan function __toString() kita bisa mendapatkan output object dengan cara sebagai berikut.
$bapak = new Bapak('Ady');
echo $bapak; // Ady adalah object dari class Bapak
ada beberapa lagi function "magic" yang disediakan oleh PHP seperti __set(), __get(), __sleep(), __wakeup(), __clone() yang penggunaannya bisa sangat bermanfaat dalam efisiensi code pemrograman. Sekian tulisan saya kali ini, kita sambung dilain kesempatan.
0 comments:
Post a Comment