Field Manual PHP / Laravel reference
← PHP

Enums

Enums define a closed set of named values.

What it is

Enums define a closed set of named values.

When to use it

Model finite states and prevent arbitrary strings.

Syntax

enum PaymentStatus: string
{
    case Pending = "pending";
    case Settled = "settled";
    case Failed = "failed";
}

Example

$status = PaymentStatus::tryFrom($input);
if ($status === null) {
    throw new InvalidArgumentException("Unknown status");
}

Common mistakes

An enum does not enforce valid state transitions; from() throws on unknown input.

Related topics

Browse PHP