Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Dapatkan CONST yang Ditakrifkan dalam Kelas PHP?

Bagaimana untuk Dapatkan CONST yang Ditakrifkan dalam Kelas PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-13 07:58:02801semak imbas

How to Retrieve Defined CONSTs in PHP Classes?

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!

Kenyataan:
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