PHP 中的列舉:PHP 8.1 支援與解決方法
PHP 長期以來缺乏本機枚舉,導致開發人員尋求解決方法。然而,隨著 PHP 8.1 的發布,全面的枚舉支援終於到來了。
PHP 8.1:原生枚舉
從 PHP 8.1 開始,正式支援枚舉。它們提供了一種簡潔且類型安全的方法來定義預定義值集:
enum DaysOfWeek: int { case Sunday = 0; case Monday = 1; // etc. }
PHP 8.0 及更早版本的解決方法
在PHP 8.1之前,有幾種解決方法通常是使用:
更高級的解決方法涉及創建具有靜態驗證的基枚舉類方法:
abstract class BasicEnum { // ... public static function isValidName($name, $strict = false) {} public static function isValidValue($value, $strict = true) {} }
擴展此類可以直接進行輸入驗證:
abstract class DaysOfWeek extends BasicEnum { // ... } DaysOfWeek::isValidName('Humpday'); // false DaysOfWeek::isValidValue(7); // false
PHP 5.3 的SplEnum
如果使用PHP 5.3 或後來,SplEnum 提供了更健壯的解決方法:
$days = new SplEnum(array( 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' )); if ($days->isValid('Monday')) { // ... }
結論
結論以上是如何在 PHP 中使用枚舉,包括 8.1 之前版本的解決方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!