PHP/native/UnitEnum

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< PHP
Revision as of 14:26, 25 August 2024 by Woozle (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
UnitEnum pseudointerface
manual page: The UnitEnum interface

Note that this (pseudo)interface cannot actually be implemented as a standard class; it can only be (pseudo)implemented by declaring an enum.

If an enum is "backed" (declared as having a scalar value for each choice), it will implement this interface and also the BackedEnum interface which (pseudo)inherits from this one.)

Definition

interface UnitEnum {
  static function cases(): array;

  string $name; // pseudocode
}

The member-variable is labelled "pseudocode" because a normal interface can't declare member-variables.

cases()

This method returns an array containing one element for each case in the enum:

  • <array index> (int) => <enum case-object> (BackedEnum)

This list can then be used to build other arrays indexing the enum class's names and/or any other information known to each case.

See Also