PHP Conference Japan 2024

枚举常量

枚举可以包含常量,这些常量可以是公有的、私有的或受保护的,尽管在实践中私有和受保护的常量是等价的,因为不允许继承。

枚举常量可以引用枚举情况

<?php

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

public const
Huge = self::Large;
}
?>
添加注释

用户贡献的注释 1 条注释

9
Hayley Watson
1 年前
澄清一下,枚举常量*可以*包含情况,但它们*不必*;其他常量值是合法的 - 包括其他枚举的情况。

<?php
enum Suit
{
case
Hearts;
case
Clubs;
case
Spades;
case
Diamonds;

public const
Card = Size::Large; // 来自另一个枚举的情况
}

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

public const
Scale = 297/210; // 浮点数
}

echo
Suit::Diamonds::Card::Scale; // 获取 Suit 中常量 Card 中的常量 Scale。
?>
To Top