Bagaimanakah anda boleh mengakses pemalar kelas dalam PHP menggunakan nama yang disimpan berubah-ubah?

DDD
Lepaskan: 2024-11-04 02:41:30
asal
904 orang telah melayarinya

How can you access class constants in PHP using a variable-stored name?

Mengakses Pemalar Kelas dengan Nama Tersimpan Pembolehubah

Dalam pengaturcaraan berorientasikan objek, pemalar kelas menyediakan cara yang mudah untuk menentukan nilai yang tidak berubah dalam kelas. Walau bagaimanapun, mengakses pemalar ini menggunakan pembolehubah yang mengandungi nama mereka menimbulkan cabaran.

Pertimbangkan contoh berikut:

<code class="php">class A {
    const MY_CONST = "value";
}

$myVar = "MY_CONST";</code>
Salin selepas log masuk

Dalam senario ini, cuba mengakses nilai MY_CONST menggunakan diri: :$myVar tidak akan berfungsi kerana ia merujuk kepada sifat statik dan bukannya pemalar.

Nasib baik, terdapat dua kaedah untuk memintas had ini:

Fungsi Malar:

Fungsi pemalar membolehkan akses kepada pemalar yang ditakrifkan melalui pengisytiharan takrif dan kelas. Ia mengambil bentuk pemalar('::'), di mana :: mewakili ruang nama dan constName menentukan nama pemalar.

<code class="php">$c = 'MY_CONST';
echo constant('::' . $c); // Output: value</code>
Salin selepas log masuk

Kelas Refleksi:

Menggunakan API Refleksi, seseorang boleh mengakses pemalar kelas melalui contoh kelas refleksi.

<code class="php">$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // Output: value</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah anda boleh mengakses pemalar kelas dalam PHP menggunakan nama yang disimpan berubah-ubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!