The match expression is type-safe and value-returning. Unlike switch, it uses strict comparison, requires no break, and throws on an unhandled value (or falls through to default if provided).
It is the right tool for state transitions, simple dispatchers, and converting between enum cases and display strings.
Pair it with PHP 8 enums for exhaustive matching that static analysers can verify at level 8 and above.