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

Bagaimana untuk Mendapatkan Pemalar yang Ditakrifkan dalam Kelas PHP?

Barbara Streisand
Lepaskan: 2024-11-11 17:44:02
asal
250 orang telah melayarinya

How to Retrieve Constants Defined in PHP Classes?

Mengambil Pemalar Ditakrifkan dalam Kelas PHP

Tugas biasa dalam pengaturcaraan PHP melibatkan mendapatkan senarai pemalar yang ditakrifkan dalam kelas tertentu. Maklumat ini penting untuk mengakses dan memanipulasi pemalar khusus kelas dengan cara yang berprogram.

Cabarannya terletak pada mencari kaedah yang sesuai yang membolehkan pengambilan semula ini. Fungsi asli get_defined_constants() menyediakan senarai semua pemalar dalam skop semasa, tetapi ia tidak menapis pemalar yang ditakrifkan dalam kelas tertentu.

Penyelesaian kepada masalah ini terletak pada penggunaan API Refleksi PHP. API ini membolehkan introspeksi dan manipulasi kelas dan objek pada masa jalan. Dengan memanfaatkan objek ReflectionClass, anda boleh mengakses pemalar kelas.

Berikut ialah coretan kod yang disediakan dalam soalan, diubah suai sedikit untuk kejelasan:

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();

foreach ($constants as $name => $value) {
    echo "$name: $value\n";
}
Salin selepas log masuk

Kod ini akan berulang melalui tatasusunan pemalar dan mencetak nama dan nilainya. Output akan menyerupai struktur tatasusunan yang dikehendaki bagi nama tetap sahaja.

Perhatikan bahawa Reflection API adalah secara perbandingan lebih perlahan daripada fungsi PHP asli. Oleh itu, jika anda menjangkakan penggunaan fungsi ini secara meluas, caching keputusan untuk pengoptimuman prestasi adalah disyorkan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Pemalar yang Ditakrifkan dalam Kelas 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