Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Penghitungan dalam PHP Berevolusi, dan Apakah Penyelesaian yang Wujud Sebelum Sokongan Asli?
Enumerasi pada PHP
PHP asli kekurangan penghitungan sehingga versi 8.1, menjadikannya sukar untuk menyimpan nilai yang dipratentukan. Penyelesaian yang popular ialah menggunakan pemalar, tetapi mereka mengalami masalah perlanggaran ruang nama dan skop global. Tatasusunan, walaupun kebal terhadap perlanggaran ruang nama, tidak mempunyai keselamatan jenis dan terdedah kepada tiruan masa jalan.
Penghitungan Asli dalam PHP 8.1
Sejak PHP 8.1, penghitungan asli telah diperkenalkan . Mereka menyediakan sintaks yang bersih untuk menentukan enum:
enum DaysOfWeek: int { case Sunday = 0; case Monday = 1; // ... }
Enum boleh digunakan untuk pemalar selamat jenis dan pengesahan nilai:
$today = DaysOfWeek::Sunday; if ($today === DaysOfWeek::Monday) { // ... }
Penyelesaian untuk PHP 8.0 dan Terdahulu
Sebelum PHP 8.1, penyelesaian yang popular disertakan:
abstract class DaysOfWeek { const Sunday = 0; const Monday = 1; // ... }
abstract class BasicEnum {} abstract class DaysOfWeek extends BasicEnum { const Sunday = 0; const Monday = 1; // ... }
Dengan kelas ini, pengesahan nilai menjadi mungkin:
if (DaysOfWeek::isValidName('Monday')) { // ... }
Pilihan Lain
Kesimpulan
Dengan pengenalan penghitungan asli dalam PHP 8.1, bekerja dengan nilai yang telah ditetapkan menjadi lebih mudah dan lebih teguh. Walau bagaimanapun, walaupun untuk versi PHP yang lebih lama, terdapat penyelesaian berkesan yang tersedia untuk menyediakan kefungsian seperti enum.
Atas ialah kandungan terperinci Bagaimanakah Penghitungan dalam PHP Berevolusi, dan Apakah Penyelesaian yang Wujud Sebelum Sokongan Asli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!