PHP/enum: Difference between revisions

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< PHP
No edit summary
No edit summary
Line 3: Line 3:
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! definition || defined in
! kind of thing || name || returns || defined in
|-
|-
| public static [https://www.php.net/manual/en/unitenum.cases.php cases](): array || UnitEnum
| static function || [https://www.php.net/manual/en/unitenum.cases.php cases]() || array || UnitEnum
|-
|-
| public static [https://www.php.net/manual/en/backedenum.tryfrom.php tryFrom](int ''or'' string $value): ?static || BackedEnum
| static function final || [https://www.php.net/manual/en/backedenum.tryfrom.php tryFrom](int ''or'' string $value) || ?static || BackedEnum
|-
|-
| public static from(int ''or'' string $value): static || BackedEnum
| static function final || from(int ''or'' string $value) || static || BackedEnum
|-
|-
| public string $name || UnitEnum
| dynamic property || $name || string || (UnitEnum)
|-
|-
| public int ''or'' string $value || BackedEnum
| dynamic property || $value || int or string || (BackedEnum)
|}
|}
==Documentation==
==Documentation==
Line 19: Line 19:
** [https://www.php.net/manual/en/language.types.enumerations.php variable type]
** [https://www.php.net/manual/en/language.types.enumerations.php variable type]
** [https://www.php.net/manual/en/language.enumerations.php Enumerations language reference]
** [https://www.php.net/manual/en/language.enumerations.php Enumerations language reference]
* <code>UnitEnum</code>:
* Basic:
** [https://www.php.net/manual/en/class.unitenum.php interface]
** [https://www.php.net/manual/en/class.unitenum.php <code>UnitEnum</code> interface]
* <code>BackedEnum</code>:
** [https://www.php.net/manual/en/language.enumerations.basics.php language reference]
** [https://www.php.net/manual/en/class.backedenum.php interface]
* Backed:
** [https://www.php.net/manual/en/class.backedenum.php <code>BackedEnum</code> interface]
** [https://www.php.net/manual/en/language.enumerations.backed.php language reference]
** [https://www.php.net/manual/en/language.enumerations.backed.php language reference]
==Sample Code==
==Sample Code==
To get a UnitEnum enum from a case name (equivalent to from()/tryFrom()):
To get a UnitEnum enum from a case name (equivalent to from()/tryFrom()):
* constant("{{arg|enum name}}::{$value}")
* constant("{{arg|enum name}}::{$value}")

Revision as of 19:48, 8 April 2023

PHP enum support

{{#set: page title=PHP enum support }}

Methods

kind of thing name returns defined in
static function cases() array UnitEnum
static function final tryFrom(int or string $value) ?static BackedEnum
static function final from(int or string $value) static BackedEnum
dynamic property $name string (UnitEnum)
dynamic property $value int or string (BackedEnum)

Documentation

Sample Code

To get a UnitEnum enum from a case name (equivalent to from()/tryFrom()):

  • constant("<enum name>::{$value}")