無論是純粹枚舉還是回退枚舉,都實現(xiàn)了一個叫 UnitEnum 的內(nèi)部接口。
UnitEnum
包含了一個靜態(tài)方法:
cases()
。
按照聲明中的順序,cases()
返回了打包的 array,包含全部定義的條目。
<?php
Suit::cases();
// 產(chǎn)生: [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades]
?>
為 Enum 手動定義 cases()
方法會導致 fatal 錯誤。