Files
state-machine/tests/OrderState.php

19 lines
447 B
PHP
Raw Normal View History

2026-01-07 01:24:40 +01:00
<?php
namespace NoccyLabs\StateMachine;
use NoccyLabs\StateMachine\StateTrait;
use NoccyLabs\StateMachine\Attributes\ValidTransitions;
enum OrderState {
use StateTrait;
#[ValidTransitions([OrderState::PROCESSING])]
case PENDING;
#[ValidTransitions([OrderState::PROCESSED,OrderState::PENDING])]
case PROCESSING;
#[ValidTransitions([OrderState::SHIPPED])]
case PROCESSED;
#[NoValidTransitions]
case SHIPPED;
}