Example provided has a small typo.
It states 'case()' where the correct method is 'cases()'.
(PHP 8 >= 8.1.0)
UnitEnum インターフェイスは、 全ての列挙型に対して、PHP のエンジンが自動的に適用するものです。 ユーザー定義のクラスとして実装してはいけません。 列挙型はメソッドのオーバーライドを禁止しています。 デフォルトの実装は PHP のエンジンから提供されるからです。 このインターフェイスは、型チェックのためだけに存在しています。
Example provided has a small typo.
It states 'case()' where the correct method is 'cases()'.
When looping through cases, you will need to access the values as an object and not an array, like this:
<?php
enum BlogStatus : string {
case Published = "is_published";
case Draft = "is_draft";
case Scheduled = "is_scheduled";
}
foreach (BlogStatus::case() as $datum){
echo $datum->name . '<br />'; // Published || Draft || Scheduled
echo $datum->value . '<br />'; // is_publised || is_draft || is_scheduled
}
?>