Refleksi Malar: Mendapatkan KONST Ditakrifkan dalam Kelas PHP
Dalam PHP, mengakses CONST yang ditakrifkan pada kelas boleh mencabar. Timbul persoalan: "Bolehkah saya mendapatkan senarai CONST yang dikaitkan dengan kelas tertentu?"
Kelas dan KONST
Pertimbangkan definisi kelas berikut:
class Profile { const LABEL_FIRST_NAME = "First Name"; const LABEL_LAST_NAME = "Last Name"; const LABEL_COMPANY_NAME = "Company"; }
Refleksi kepada Rescue
Walaupun fungsi PHP standard get_defined_constants() tidak boleh mendapatkan CONST yang ditakrifkan pada kelas tertentu, pustaka Reflection menyediakan penyelesaian. Reflection membolehkan kami memperoleh maklumat tentang kelas dan sifatnya.
Untuk mendapatkan CONST, cipta objek ReflectionClass untuk kelas yang dikehendaki:
$refl = new ReflectionClass('Profile');
Kemudian, gunakan kaedah getConstants() untuk mendapatkan tatasusunan yang mengandungi CONST yang ditakrifkan:
$constants = $refl->getConstants();
Tatasusunan ini termasuk kedua-dua nama CONST dan nilai, membenarkan akses dan manipulasi yang fleksibel.
Contoh Output
Melaksanakan kod akan menghasilkan output berikut:
Array ( 'LABEL_FIRST_NAME' => 'First Name', 'LABEL_LAST_NAME' => 'Last Name', 'LABEL_COMPANY_NAME' => 'Company' )
Kesimpulan
Dengan memanfaatkan Reflection, pembangun PHP boleh dengan mudah dapatkan CONST yang ditakrifkan pada kelas, memberikan cerapan berharga dan kawalan ke atas kefungsian kelas.
Atas ialah kandungan terperinci Bagaimana untuk Dapatkan CONST yang Ditakrifkan dalam Kelas PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!