Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah kaedah sihir __get dan __set PHP tidak digunakan semasa mengakses harta awam?
PHP menyediakan kaedah ajaib yang membolehkan pembangun membebankan operasi tertentu, seperti akses harta dan panggilan kaedah. Antara kaedah ini ialah __get dan __set, yang direka bentuk untuk mengatasi gelagat lalai akses harta benda.
Kod yang disediakan mentakrifkan kelas foo dengan sifat awam dan kaedah ajaib __get dan __set. Walau bagaimanapun, apabila cuba menggunakan kaedah ini untuk mengakses $foo->bar, hanya harta awam sedang diakses.
Ini kerana __get dan __set digunakan hanya apabila harta atau kaedah tidak boleh diakses. Memandangkan $foo->bar ialah harta awam, kaedah ajaib tidak dicetuskan.
Seperti dalam manual PHP, __get dilaksanakan apabila membaca data daripada sifat tidak boleh diakses dan __set digunakan apabila menulis data kepada tidak boleh diakses harta benda. Dalam kes ini, ahli kelas adalah awam dan oleh itu boleh diakses, menjadikan kaedah sihir tidak relevan.
Daripada menggunakan kaedah sihir, pertimbangkan untuk melaksanakan getter dan setter yang betul atau mengakses terus sifat untuk tingkah laku yang lebih cekap dan boleh diramal. Kaedah ajaib harus dikhaskan untuk kes luar biasa di mana sifat atau kaedah tidak boleh diakses dengan cara biasa.
Atas ialah kandungan terperinci Mengapakah kaedah sihir __get dan __set PHP tidak digunakan semasa mengakses harta awam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!