sonsofphp / state-machine
基本而强大的状态机
dev-main / 0.3.x-dev
2024-09-10 19:46 UTC
Requires
- php: >=8.2
- sonsofphp/event-dispatcher: 0.3.x-dev
- sonsofphp/state-machine-contract: 0.3.x-dev
Provides
- sonsofphp/state-machine-implementation: 0.3.x-dev
This package is auto-updated.
Last update: 2024-09-10 19:47:38 UTC
README
<?php use SonsOfPHP\Component\StateMachine\StateMachine; $sm = new StateMachine([ 'graph' => 'order', 'supports' => [ OrderInterface::class, ], 'transitions' => [ 'create' => [ 'from' => 'draft', 'to' => 'new', ], 'fulfill' => [ 'from' => 'new', 'to' => 'fulfilled', ], 'cancel' => [ 'from' => ['draft', 'new', 'fulfilled'], 'to' => 'fulfilled', ], ], ]); // Check if state can change $sm->can($order, 'create'); // Apply transition $sm->apply($order, 'fulfil'); // Get Current State $sm->getState($order);