CakeFest 2024: The Official CakePHP Conference

The UnitEnum interface

(PHP 8 >= 8.1.0)

Introduction

The UnitEnum interface is automatically applied to all enumerations by the engine. It may not be implemented by user-defined classes. Enumerations may not override its methods, as default implementations are provided by the engine. It is available only for type checks.

Interface synopsis

interface UnitEnum {
/* Methods */
public static cases(): array
}

Table of Contents

add a note

User Contributed Notes 1 note

up
0
leonardosahon at gmail dot com (Osahenrumwen A)
7 months ago
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
}

?>
To Top