Example provided has a small typo.
It states 'case()' where the correct method is 'cases()'.
(PHP 8 >= 8.1.0)
A interface UnitEnum é aplicada automaticamente a todas as enumerações pelo motor do PHP. Não pode ser implementada por classes definidas pelo usuário. Enumerações não podem substituir seus métodos, já que implementações padrão são fornecidas pelo motor. Está disponível apenas para verificações de tipo.
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
}
?>