ホームページ >バックエンド開発 >PHPチュートリアル >PHP で列挙型を使用するにはどうすればよいですか (8.1 より前のバージョンの回避策も含む)
PHP の列挙: PHP 8.1 のサポートと回避策
PHP には長い間ネイティブ列挙が欠けており、開発者は回避策を模索していました。しかし、PHP 8.1 のリリースにより、ついに本格的な enum サポートが到着しました。
PHP 8.1: ネイティブ Enums
PHP 8.1 以降、enum は正式にサポートされます。 。これらは、事前定義された値のセットを定義するための簡潔でタイプセーフな方法を提供します。
enum DaysOfWeek: int { case Sunday = 0; case Monday = 1; // etc. }
PHP 8.0 以前の回避策
PHP 8.1 より前のいくつかの回避策一般的にあったused:
より高度な回避策には、静的検証を備えた基本 enum クラスの作成が含まれますメソッド:
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
SplEnum for PHP 5.3
PHP 5.3 を使用している場合、またはその後、SplEnum はより堅牢な機能を提供します。回避策:
$days = new SplEnum(array( 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' )); if ($days->isValid('Monday')) { // ... }
結論
PHP 8.1 のネイティブ列挙により、コードが簡素化され、型安全性が向上します。以前のバージョンには、定数、配列、BasicEnum クラスや SplEnum クラスなど、さまざまな回避策が存在します。
以上がPHP で列挙型を使用するにはどうすればよいですか (8.1 より前のバージョンの回避策も含む)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。