PHP Conference Fukuoka 2025

Aufzählungen und Konstanten

Enums können Konstanten enthalten, die public, private oder protected sein können, wobei private und protected praktisch gleichwertig sind, da Vererbung nicht erlaubt ist.

Eine Enum-Konstante kann sich auf einen Enum-Fall beziehen:

<?php

enum Size
{
case
Small;
case
Medium;
case
Large;

public const
Huge = self::Large;
}
?>
add a note

User Contributed Notes 1 note

up
8
Hayley Watson
2 years ago
Just to clarify, enum constants *can* contain cases, but they don't *have* to; other constant values are legitimate - including cases of other Enumerations.<?phpenum Suit{    case Hearts;    case Clubs;    case Spades;    case Diamonds;    public const Card = Size::Large; // A case from a different enum}enum Size{    case Small;    case Medium;    case Large;    public const Scale = 297/210; // A float}echo Suit::Diamonds::Card::Scale; // Getting the constant Scale from the constant Card in a Suit.?>
To Top