PHP Deklarasi Property Secara Dinamis (Bagian 2)Di PHP terdapat magic methods yang akan dijalankan ketika mengakses atau meng-set (assignment) suatu property yang tidak terdeklarasi ataupun visible pada scope saat ini, yaitu __get() dan __set(). Hal ini berguna untuk deklarasi atau membuat property-property secara dinamis, disebut overloading. Perlu diingat bahwa konsep overloading di PHP berbeda dengan overloading di bahasa pemrograman lain seperti C++. Perlu diingat juga bahwa semua method overloading harus didefinisikan sebagai public. Perhatikan class berikut, argumen class ini berupa array:
Kita siapkan array berikut:
Buat object dengan memasukkan array diatas:
Pada method __set(), jika property tidak ditemukan di class, maka masukkan ke array, namun jika nama property (key) belum ada di array. Pada method __get(), jika property tidak ditemukan di class, maka ambil dari array. Property-property berikut tersedia di class dan visible (public):
Property-property berikut TIDAK tersedia di class dan akan menginisiasi __get() pada class:
Property berikut TIDAK tersedia di class, dengan melakukan assignment akan menginisiasi __set():
Artikel ini adalah lanjutan dari: PHP Deklarasi Property Secara Dinamis (Bagian 1). |