value : $this->name; } /** Return the enum's value or name when it's called ::STATICALLY(). */ public static function __callStatic($name, $args) { $cases = static::cases(); foreach ($cases as $case) { if ($case->name === $name) { return $case instanceof BackedEnum ? $case->value : $case->name; } } throw new Exceptions\UndefinedCaseError(static::class, $name); } }