(PHP 8 >= 8.1.0)
列挙型(Enumerations) または Enum を使うと、 開発者は取りうる値を限定した独自の型を定義できます。 これによって、"不正な状態を表現できなくなる" ので、 ドメインモデルを定義する時に特に役立ちます。
列挙型は、多くのプログラミング言語に備わっており、 様々な異なる機能があります。 PHP では、列挙型は特別な種類のオブジェクトです。 列挙型そのものはクラスですし、そこで定義される case は全て、 そのクラスのインスタンスです。 これは、列挙型で定義される case は有効なオブジェクトであり、 型チェックを含む、オブジェクトが使えるあらゆる場所で使えるということです。
列挙型のもっとも有名な例は、組み込みの論理型(boolean) です。
これは、有効な値 true
と false
を持つ列挙型です。
列挙型によって、開発者は任意の値の一覧を、
安定した形で定義できるようになります。