1. Go to this page and download the library: Download jooservices/state-machine library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jooservices / state-machine example snippets
use JOOservices\StateMachine\StateMachineFactory;
final class Order
{
public function __construct(
public string $status = 'pending',
) {}
}
$config = [
'property' => 'status',
'states' => ['pending', 'confirmed', 'shipped', 'cancelled'],
'initial_state' => 'pending',
'transitions' => [
'confirm' => ['from' => ['pending'], 'to' => 'confirmed'],
'ship' => ['from' => ['confirmed'], 'to' => 'shipped'],
'cancel' => ['from' => ['pending', 'confirmed'], 'to' => 'cancelled'],
],
];
$order = new Order();
$machine = (new StateMachineFactory())->create($order, 'order', $config);
if ($machine->can('confirm')) {
$machine->apply('confirm');
}
echo $machine->getState(); // confirmed
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.