Dalam pemrograman class dengan PHP kita akan menjumpai method yang diawali dengan double underscore. Method ini digunakan untuk memberikan response pada suatu event atau kejadian-kejadian tertentu. Sebagai contoh pada artikel Constructor dalam class PHP kita menggunakan __construct yang otomatis dijalankan saat kita membuat object. Kemudian pada artikel Overloading pada class PHP kita membahas menggunakan method __set dan __get untuk memberikan nilai atau mendapatkan suatu nilai dari suatu property yang sebenarnya dideklarasikan sebagai tidak bisa diakses.
Sesuai dengan dokumentasi PHP pada http://php.net/manual/en/language.oop5.magic.php kita mengenal method-method magic seperti berikut ini:
- __construct()
Method ini akan diakses pada saat pembuatan object.
- __destruct()
Method ini akan diakses saat object dihapus.
- __call()
Method ini akan diakses saat object menjalankan method yang invisible atau tidak didefinisikan
- __callStatic()
Method ini akan diakses jika kita menjalankan suatu static method yang invisible atau tidak didefinisikan
- __get()
Method ini akan diakses jika program ingin mengambil nilai dari property yang invisible.
- __set()
Method ini akan diakses jika program ingin memberikan nilai dari suatu property yang inivisible.
- __isset()
Method ini akan diakses jika program menjalankan isset() atau empty() pada property yang tidak bisa diakses.
- __unset()
Method ini akan diakses jika program menjalankan unset() pada property yang tidak bisa diakses.
- __sleep()
Berhubungan dengan serialisasi object.
- __wakeup()
Berhubungan dengan unserialisasi object.
- __toString()
Method ini akan diakses jika kita memperlakukan class sebagai string.
- __invoke()
Method ini akan diakses jika program memperlakukan object sebagai function.
- __set_state()
- __clone()
Method ini berhubungan dengan cloning object. Saat selesai proses cloning object, method ini akan dijalankan.
- __debugInfo()
Method ini akan diakses jika program menjalankan var_dump() pada suatu object.
Informasi lebih lanjut silahkan mengunjungi:
1. http://php.net/manual/en/language.oop5.magic.php .
2. http://php.net/manual/en/language.oop5.overloading.php .
3. http://php.net/manual/en/language.oop5.cloning.php .
4. http://culttt.com/2014/04/16/php-magic-methods/ .
5. http://andrewwoods.net/blog/2015/php-magic-methods/ .
Kunjungi www.proweb.co.id untuk menambah wawasan anda.