Concept Flow - Enum backed values
Define Enum with backed values
Create Enum instance
Access backed value
Use value in code
This flow shows how to define an enum with values, create an instance, and access its backed value.
<?php
enum Status: string {
case Pending = 'pending';
case Approved = 'approved';
case Rejected = 'rejected';
}
echo Status::Approved->value;
?>| Step | Action | Evaluation | Result |
|---|---|---|---|
| 1 | Define enum Status with cases and backed string values | N/A | Enum Status created with cases Pending, Approved, Rejected |
| 2 | Access Status::Approved | Status::Approved | Enum case Approved selected |
| 3 | Get value of Status::Approved | Status::Approved->value | 'approved' |
| 4 | Print value | echo Status::Approved->value | Output: approved |
| 5 | End of script | N/A | Script ends |
| Variable | Start | After Step 2 | After Step 3 | Final |
|---|---|---|---|---|
| Status::Approved | N/A | Enum case object | Enum case object with value 'approved' | Enum case object with value 'approved' |
| Output | N/A | N/A | N/A | 'approved' |
PHP Enum backed values:
- Define enum with 'enum Name: type { case A = value; }'
- Backed types: string or int
- Access value with 'EnumCase->value'
- Useful for fixed sets with known values
- Example: enum Status: string { case Pending = 'pending'; }