Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Menggunakan Penghitungan dalam PHP, Termasuk Penyelesaian untuk Versi Sebelum 8.1?

Bagaimanakah Saya Menggunakan Penghitungan dalam PHP, Termasuk Penyelesaian untuk Versi Sebelum 8.1?

Patricia Arquette
Lepaskan: 2024-12-17 16:33:10
asal
468 orang telah melayarinya

How Do I Use Enumerations in PHP, Including Workarounds for Versions Before 8.1?

Enumerasi dalam PHP: Sokongan dan Penyelesaian PHP 8.1

PHP telah lama kekurangan penghitungan asli, menyebabkan pembangun mencari penyelesaian. Walau bagaimanapun, dengan keluaran PHP 8.1, sokongan enum sepenuhnya telah tiba.

PHP 8.1: Native Enums

Bermula dengan PHP 8.1, enums disokong secara rasmi . Mereka menyediakan cara ringkas dan selamat jenis untuk mentakrifkan set nilai yang dipratentukan:

enum DaysOfWeek: int
{
    case Sunday = 0;
    case Monday = 1;
    // etc.
}
Salin selepas log masuk

Penyelesaian untuk PHP 8.0 dan Terdahulu

Sebelum PHP 8.1, beberapa penyelesaian adalah biasa digunakan:

  • Pemalar: Pemalar memberikan nilai global yang tidak berubah. Walau bagaimanapun, ia boleh membawa kepada perlanggaran ruang nama dan tidak serba boleh seperti enum sebenar.
  • Tasusunan: Tatasusunan lebih fleksibel tetapi boleh ditindih dan kekurangan sokongan autoisi dalam IDE.

Penyelesaian yang lebih maju melibatkan mencipta kelas enum asas dengan pengesahan statik kaedah:

abstract class BasicEnum
{
    // ...
    public static function isValidName($name, $strict = false) {}
    public static function isValidValue($value, $strict = true) {}
}
Salin selepas log masuk

Melanjutkan kelas ini membolehkan pengesahan input yang mudah:

abstract class DaysOfWeek extends BasicEnum
{
    // ...
}

DaysOfWeek::isValidName('Humpday');                  // false
DaysOfWeek::isValidValue(7);                         // false
Salin selepas log masuk

SplEnum untuk PHP 5.3

Jika menggunakan PHP 5.3 atau kemudian, SplEnum menyediakan yang lebih mantap penyelesaian:

$days = new SplEnum(array(
    'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
));

if ($days->isValid('Monday')) {
    // ...
}
Salin selepas log masuk

Kesimpulan

Penghitungan asli dalam PHP 8.1 memudahkan kod dan meningkatkan keselamatan jenis. Untuk versi terdahulu, pelbagai penyelesaian wujud, termasuk pemalar, tatasusunan dan kelas BasicEnum atau SplEnum.

Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Penghitungan dalam PHP, Termasuk Penyelesaian untuk Versi Sebelum 8.1?. 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