Skip to content

Backed Enums

Backed enums in PHP allow enum cases to have scalar values.
Each case is backed by either a string or integer.

This is useful when storing enum values in databases or APIs.

enum Status: string {
case Pending = 'pending';
case Approved = 'approved';
case Rejected = 'rejected';
}
$status = Status::Approved;
echo $status->value; // approved
$status = Status::from('approved');
var_dump($status === Status::Approved);
$status = Status::tryFrom('unknown');
var_dump($status); // null