⊗ppOpMgGP 88 of 107 menu

Mendapatkan Properti melalui Magic dalam OOP di PHP

Metode magic berikutnya yang akan kita bahas adalah __get. Metode ini terpicu ketika mencoba membaca nilai dari properti privat atau terlindungi.

Jika metode __get diimplementasikan dalam suatu kelas, maka semua akses ke properti yang tidak ada atau tersembunyi akan ditangani oleh metode ini.

Dalam hal ini, PHP secara otomatis akan meneruskan nama properti yang diminta ke parameter pertama dari metode ini, dan nilai yang dikembalikan oleh metode ini akan dianggap sebagai nilai properti yang diakses.

Kemungkinan besar masih belum terlalu jelas, bagaimana ini bekerja, jadi mari kita lihat contoh praktis. Misalkan kita memiliki kelas Test dengan properti privat dan publik:

<?php class Test { public $prop1 = 1; // properti publik private $prop2 = 2; // properti privat } ?>

Mari tambahkan metode magic __get ke kelas kita, yang untuk awalnya akan hanya mengembalikan nama properti yang diakses:

<?php class Test { public $prop1 = 1; private $prop2 = 2; public function __get($property) { return $property; // cukup kembalikan nama properti } } ?>

Mari kita uji kerja metode magic yang telah dibuat. Kita akan mengakses tiga jenis properti: ke properti publik, ke privat, dan ke yang tidak ada:

<?php $test = new Test; // Mengakses properti publik: echo $test->prop1; // menampilkan 1 - yaitu nilai properti // Mengakses properti privat: echo $test->prop2; // menampilkan 'prop2' - nama properti // Mengakses properti yang tidak ada: echo $test->prop3; // menampilkan 'prop3' - nama properti ?>

Seperti yang Anda lihat, metode magic kita bereaksi terhadap akses ke properti privat dan yang tidak ada, tetapi mengabaikan akses ke properti publik - mereka bekerja seperti sebelumnya.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak