Magic Method pada PHP

Pada PHP terdapat beberapa method yang disebut dengan magic method. Nama method-method ini diawali dengan "__" (dobel underscore). Dinamakan magic karena method ini merupakan method dengan fungsi khusus dan merupakan salah satu fitur dalam pemrograman PHP berorientasi object. Dan juga kita tidak boleh membuat function dengan nama yang sama dengan nama magic method. Berikut contoh magic method pada PHP :

1. __construct()

Merupakan method untuk membuat konstruktor sebuah class. Dengan method __construct() kita bisa membuat sebuah object sekaligus setting propertinya.


2. __destruct()

Adalah method yang dipakai untuk memusnahkan properti pada object setelah exit atau unset object.


3. __call()

Adalah method yang digunakan saat memanggil method yang tidak dapat diakses (inaccessible method) didalam object .


4. __callStatic()

Adalah method yang digunakan saat memanggil method yang tidak dapat diakses (inaccessible method) didalam static .


5. __get()

Adalah method digunakan untuk membaca data dari properti yang tidak dapat diakses (inaccessible property).


6. __set()

Adalah method digunakan untuk menulis data pada properti yang tidak dapat diakses (inaccessible property).


7. __isset()

Adalah method yang dipicu dengan memanggil method isset() atau empty() pada properti yang tidak dapat diakses (inaccessible property).


8. __unset()

Adalah method yang dipicu dengan memanggil method unset() pada properti yang tidak dapat diakses (inaccessible property).


9. __sleep()

Adalah method yang dipanggil saat proses serialisasi object melalui function serialize(). Jadi proses serialisasi mengecek apakah sebuah class memiliki method __sleep() didalamnya. Jika ya, maka function akan dijalankan sebelum proses serialisasi.


10. __wakeup()

Adalah kebalikan dari method __sleep(). Jika method __sleep digunakan saat proses serialisasi maka method __wakeup() digunakan saat proses unserialisasi dengan funstion unserialize(). Jadi fungsi ini dalam membangun kembali resource yang mungkin hilang setelah proses serialisasi.


11. __toString()

Adalah method yang memungkinkan sebuah class memutuskan bagaimana ia akan bereaksi bila diperlakukan seperti string.


12. __invoke()

Adalah method yang dipakai ketika sebuah script mencoba menghubungi objek sebagai function.


13. __set_state()

Adalah method yang dipakai saat mengeksport class dengan function var_export(), yaitu function yang mengeksport properti dalam method kedalam array ('property' => value, ...).


14. __clone()

Adalah method yang dipakai untuk membuat salinan object. Method __clone() dipilih daripada memiliki dua variabel yang menunjuk ke data aktual yang sama.


15. __debuginfo()

Adalah method yang dipanggil oleh function var_dump() ketika proses dumping object untuk memperoleh properti yang harus ditampilkan.

Footer Right