Saya cuba mengakses pemalar kelas dalam salah satu kelas saya:
const MY_CONST = "value";
Jika saya mempunyai pembolehubah untuk memegang nama pemalar ini seperti ini:
$myVar = "MY_CONST";
Bolehkah saya mengakses nilai MY_CONST entah bagaimana?
self::$myVar
Ini jelas tidak berfungsi kerana ia adalah untuk sifat statik. Juga, pembolehubah pembolehubah tidak berfungsi sama ada.
Tiada sintaks yang sepadan, tetapi anda boleh menggunakan carian eksplisit:
Saya percaya ia berkesan untuk
self::
juga.Terdapat dua cara untuk melakukan ini: menggunakan fungsi malar atau menggunakan pantulan.
Fungsi berterusan
Fungsi pemalar digunakan untuk pemalar yang diisytiharkan melalui
define
serta pemalar kelas:Kelas refleksi
Kaedah kedua, lebih susah payah adalah melalui refleksi: