Jumat, 09 Desember 2016

PHP - Penggunaan method __invoke() dan __toString()


Bicara tentang magic method, pasti sudah tidak asing lagi apalagi ane pernah bahas apa itu magic method dan kegunaanya pada di artikel sebelumnya, nah di post ane kali ini ane bakalan sharing knowlage ane tentang beberapa magic methods yang keren gan, iya keren karena emng bener2 magic nya ada ahhaha.

Jika di artikel sebelumnya ane mengejelaskan magic method __call dan __callStatic maka di artikel ane kali ini ane bakalan ngebahas tentang 2 magic method yang baru ane pelajari dan baru ane gunain hihi.

Nama method ini adalah __invoke dan __toString, mungkin agan2 pernah lihat method itu di beberapa code atau di framework-framework, kalo ane pernah nemunya di framework laravel gan,

Pertama

Magic method __invoke

Pengertian dari magic method ini adalah method yang otomatis terpanggil di dalam sebuah class jika class di panggil dalam sebuah object atau function, wah keren kan ? itu magicnya gan,, pasti belum terlalu mengerti tentang method itu, langsung aja ane kasih contoh :



Nah contoh syntak di atas sudah di pastikan error, karena tidak ada method dan bahkan tidak bisa memanggil method, karena tidak ada method sama sekali dan tidak memanggil method apapun di dalam class, hanya menjadikan class sebagai function, dan pasti error message akan muncul,

Lalu untuk me resolve masalah di atas cukup pake magic method yang __invoke gan,, lah serius ?
mari kita cobaa


Kedua __toString()

Pengertian magic method ini menurut ane sih engga bedanya ama __invoke, cman dalam pemanggilannya sedikit beda, jika __invoke digunakan dan akan terpanggil jika class di panggil sebagai function, tapi dengan adanya __toString() dialam class yang kita buat ketika kita coba echo $class tanpa method maka secara otomatis akan mehod akan terpanggil sebagai string, itu menurut ane :D,
Coba lihat ini adalah kegunaan method __toString()


Nah agan mungkin sudah paham sedikit kan :D,, simple dan tidak susah untuk di pahami menurut ane hehe


Nah sekalian post dari ane gan, terima kasih and see you on the next post ..

    Choose :
  • OR
  • To comment
Tidak ada komentar:
Write komentar