Memanipulasi Sifat Kelas PHP Secara Dinamik
Mendapatkan harta daripada kelas PHP menggunakan rentetan dan bukannya nama eksplisitnya ialah teknik yang berharga untuk dinamik akses harta benda. Bagaimanakah kita mencapai "keajaiban" ini?
Mari kita terokai senario:
$obj->Name = 'something'; $get = $obj->Name;
boleh ditulis sebagai:
magic($obj, 'Name', 'something'); $get = magic($obj, 'Name');
Penyelesaian 1: Memanfaatkan Sintaks Pembolehubah Pembolehubah
Untuk mengakses sifat secara dinamik, kita boleh menggunakan sintaks pembolehubah pembolehubah:
<?php $prop = 'Name'; echo $obj->$prop;
Ini secara dinamik mengakses sifat 'Nama' objek $obj.
Penyelesaian 2: Melaksanakan Antara Muka ArrayAccess (Pilihan)
Jika kelas mempunyai kawalan, melaksanakan antara muka ArrayAccess membenarkan akses kepada sifat menggunakan sintaks tatasusunan:
echo $obj['Name'];
Ini menyediakan kaedah yang mudah dan fleksibel untuk mengakses sifat kelas secara dinamik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Sifat Kelas PHP Secara Dinamik Menggunakan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!