Di dalam PHP terdapat reserved words yang disebut magic method dan magic constant.
Magic Method
Magic method diawali dengan tanda double underscore(__). Beberapa reserved word yang termasuk magic method :
__call()
__callStatic()
__clone()
__construct()
__debugInfo()
__destruct()
__get()
__invoke()
__isset()
__set()
__set_state()
__sleep()
__toString()
__unset()
__wakeup()
Contoh penggunaan magic method __construct() seperti berikut. Magic method ini digunakan untuk memberikan nilai default argumen pada Class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php class Handphone{ public $merk; public function __construct($merk='Samsung'){ $this->merk = $merk; } public function getMerk(){ return 'Merk HP adalah '.$this->merk; } } $hp = new Handphone(); echo $hp->getMerk(); ?> |
Apabila nilai $hp dikosongkan, maka otomatis merk akan muncul Samsung. Berbeda apabila kita memberikan nilai, misalnya $hp = new Handphone(‘Oppo’); maka yang akan tampil di layar adalah ‘Oppo’.
Magic Constant
Beberapa Magic Constant yang berada di PHP :
__CLASS__
__DIR__
__FILE__
__FUNCTION__
__LINE__
__METHOD__
__NAMESPACE__
__TRAIT__
Contohnya kita akan menggunakan magic constant Class :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php class Handphone{ public $merk; public function __construct($merk='Samsung'){ $this->merk = $merk; } public function getMerk(){ return 'Merk '. __CLASS__.' adalah '.$this->merk; } } $hp = new Handphone(); echo $hp->getMerk(); ?> |