Mendapatkan Definisi Malar daripada Kelas PHP
Dalam senario tertentu, adalah perlu untuk mendapatkan semula senarai pemalar yang ditakrifkan dalam kelas PHP. Ini mungkin berguna terutamanya apabila introspeksi diperlukan untuk penjanaan atau analisis kod dinamik. Fungsi get_defined_constants() malangnya, tidak memberikan maklumat khusus untuk kelas individu.
Menggunakan Refleksi untuk Pendapatan Malar
Untuk menangani had ini, Reflection boleh digunakan. Objek ReflectionClass menyediakan akses kepada metadata kelas, termasuk pemalar yang ditentukan.
class Profile { const LABEL_FIRST_NAME = "First Name"; const LABEL_LAST_NAME = "Last Name"; const LABEL_COMPANY_NAME = "Company"; } $refl = new ReflectionClass('Profile'); $constants = $refl->getConstants();
Kaedah getConstants() mengembalikan tatasusunan yang mengandungi semua pemalar yang diisytiharkan dalam kelas.
Output :
Array ( 'LABEL_FIRST_NAME' => 'First Name', 'LABEL_LAST_NAME' => 'Last Name', 'LABEL_COMPANY_NAME' => 'Company' )
Menyesuaikan Format Output
Jika format output tertentu dikehendaki, metadata kelas boleh diproses selanjutnya.
Mendapatkan Nama Malar:
$constantNames = array_keys($constants);
Output:
Array ( 'LABEL_FIRST_NAME', 'LABEL_LAST_NAME', 'LABEL_COMPANY_NAME' )
Mendapatkan Nama Malar Berkelayakan Penuh:
$fullyQualifiedConstantNames = array(); foreach ($constants as $name => $value) { $fullyQualifiedConstantNames[] = 'Profile::' . $name; }
Output:
Array ( 'Profile::LABEL_FIRST_NAME', 'Profile::LABEL_LAST_NAME', 'Profile::LABEL_COMPANY_NAME' )
Mendapatkan Nama dan Nilai Malar:
$constantNamesWithValues = array(); foreach ($constants as $name => $value) { $constantNamesWithValues['Profile::' . $name] = $value; }
Output:
Array ( 'Profile::LABEL_FIRST_NAME' => 'First Name', 'Profile::LABEL_LAST_NAME' => 'Last Name', 'Profile::LABEL_COMPANY_NAME' => 'Company' )
Dengan memanfaatkan Reflection, pengaturcara boleh mendapatkan dan memanipulasi maklumat dengan mudah tentang pemalar yang ditakrifkan dalam kelas PHP, membolehkan pelbagai fleksibiliti untuk penjanaan kod, analisis dan operasi lain.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Pemalar Kelas dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!