Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mendapatkan Pemalar Kelas dalam PHP?

Bagaimana untuk Mendapatkan Pemalar Kelas dalam PHP?

Barbara Streisand
Lepaskan: 2024-11-17 09:51:03
asal
188 orang telah melayarinya

How to Retrieve Class Constants in PHP?

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();
Salin selepas log masuk

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'
)
Salin selepas log masuk

Menyesuaikan Format Output

Jika format output tertentu dikehendaki, metadata kelas boleh diproses selanjutnya.

Mendapatkan Nama Malar:

$constantNames = array_keys($constants);
Salin selepas log masuk

Output:

Array
(
    'LABEL_FIRST_NAME',
    'LABEL_LAST_NAME',
    'LABEL_COMPANY_NAME'
)
Salin selepas log masuk

Mendapatkan Nama Malar Berkelayakan Penuh:

$fullyQualifiedConstantNames = array();
foreach ($constants as $name => $value) {
    $fullyQualifiedConstantNames[] = 'Profile::' . $name;
}
Salin selepas log masuk

Output:

Array
(
    'Profile::LABEL_FIRST_NAME',
    'Profile::LABEL_LAST_NAME',
    'Profile::LABEL_COMPANY_NAME'
)
Salin selepas log masuk

Mendapatkan Nama dan Nilai Malar:

$constantNamesWithValues = array();
foreach ($constants as $name => $value) {
    $constantNamesWithValues['Profile::' . $name] = $value;
}
Salin selepas log masuk

Output:

Array
(
    'Profile::LABEL_FIRST_NAME' => 'First Name',
    'Profile::LABEL_LAST_NAME' => 'Last Name',
    'Profile::LABEL_COMPANY_NAME' => 'Company'
)
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan