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. }
Penyelesaian untuk PHP 8.0 dan Terdahulu
Sebelum PHP 8.1, beberapa penyelesaian adalah biasa digunakan:
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) {} }
Melanjutkan kelas ini membolehkan pengesahan input yang mudah:
abstract class DaysOfWeek extends BasicEnum { // ... } DaysOfWeek::isValidName('Humpday'); // false DaysOfWeek::isValidValue(7); // false
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')) { // ... }
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!