19 lines
447 B
PHP
19 lines
447 B
PHP
|
|
<?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;
|
||
|
|
}
|