(PHP 8 >= 8.1.0)
枚舉,或稱(chēng) “Enum”,能夠讓開(kāi)發(fā)者自定義類(lèi)型為一系列可能的離散值中的一個(gè)。 在定義領(lǐng)域模型中很有用,它能夠“隔離無(wú)效狀態(tài)”(making invalid states unrepresentable)。
枚舉以各種不同功能的形式出現在諸多語(yǔ)言中。 在 PHP 中, 枚舉是一種特殊類(lèi)型的對象。Enum 本身是一個(gè)類(lèi)(Class), 它的各種條目(case)是這個(gè)類(lèi)的單例對象,意味著(zhù)也是個(gè)有效對象 —— 包括類(lèi)型的檢測,能用對象的地方,也可以用它。
最常見(jiàn)的枚舉例子是內置的 boolean 類(lèi)型,
該枚舉類(lèi)型有兩個(gè)有效值 true
和 false
。
Enum 使開(kāi)發(fā)者能夠任意定義出用戶(hù)自己的、足夠健壯的枚舉。