Heim >Backend-Entwicklung >PHP-Tutorial >Wie verwende ich Aufzählungen in PHP, einschließlich Workarounds für Versionen vor 8.1?
Aufzählungen in PHP: PHP 8.1-Unterstützung und Problemumgehungen
PHP mangelte es lange Zeit an nativen Aufzählungen, sodass Entwickler nach Problemumgehungen suchten. Mit der Veröffentlichung von PHP 8.1 ist jedoch endlich eine umfassende Enum-Unterstützung verfügbar.
PHP 8.1: Native Enums
Ab PHP 8.1 werden Enums offiziell unterstützt . Sie bieten eine prägnante und typsichere Möglichkeit, Sätze vordefinierter Werte zu definieren:
enum DaysOfWeek: int { case Sunday = 0; case Monday = 1; // etc. }
Problemumgehungen für PHP 8.0 und früher
Vor PHP 8.1 mehrere Problemumgehungen wurden häufig verwendet:
Eine erweiterte Problemumgehung besteht darin, eine Basis-Enum-Klasse mit statischer Validierung zu erstellen Methoden:
abstract class BasicEnum { // ... public static function isValidName($name, $strict = false) {} public static function isValidValue($value, $strict = true) {} }
Die Erweiterung dieser Klasse ermöglicht eine einfache Eingabevalidierung:
abstract class DaysOfWeek extends BasicEnum { // ... } DaysOfWeek::isValidName('Humpday'); // false DaysOfWeek::isValidValue(7); // false
SplEnum für PHP 5.3
Bei Verwendung von PHP 5.3 oder Später bietet SplEnum eine robustere Problemumgehung:
$days = new SplEnum(array( 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' )); if ($days->isValid('Monday')) { // ... }
Fazit
Native Aufzählungen in PHP 8.1 vereinfachen Code und verbessern die Typsicherheit. Für frühere Versionen gibt es verschiedene Problemumgehungen, einschließlich Konstanten, Arrays und der BasicEnum- oder SplEnum-Klassen.
Das obige ist der detaillierte Inhalt vonWie verwende ich Aufzählungen in PHP, einschließlich Workarounds für Versionen vor 8.1?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!