Mengakses Pemalar Kelas Secara Dinamik
Dalam PHP, mengakses pemalar kelas secara dinamik menggunakan pembolehubah boleh ubah boleh menjadi mencabar. Walau bagaimanapun, terdapat dua kaedah berkesan untuk mencapai ini:
Menggunakan Fungsi Malar
Fungsi constant() menerima hujah rentetan yang mewakili nama malar dan menilainya:
diri sendiri::
{
const MY_CONST = 'myval'; static function test() { $c = 'MY_CONST'; return constant('self::'. $c); }
}
gema A::test(); // output: myval
Dalam contoh ini, fungsi constant() menilai rentetan "self::MY_CONST" dan mengembalikan nilai pemalar MY_CONST.
Menggunakan Refleksi
Reflection membolehkan anda mengakses maklumat tentang kelas, kaedah dan pemalar secara dinamik:
<br>$ref = new ReflectionClass('A');<br>$constName = 'MY_CONST';<br>echo $ref->getConstant ($constName); // output: myval<br>
Di sini, objek ReflectionClass dicipta untuk kelas A. Kaedah getConstant() kemudian mengembalikan nilai pemalar MY_CONST.
Atas ialah kandungan terperinci Bagaimanakah anda boleh mengakses pemalar kelas secara dinamik dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!