<?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);
- Documentation
- Contributing
- Report Issues and Submit Pull Requests in the Mother Repository
- Get Help & Support using Discussions