PHP code example of chippyash / finite-state-machine
1. Go to this page and download the library: Download chippyash/finite-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/ */
chippyash / finite-state-machine example snippets
use Chippyash\StateMachine\StateGraph;
//add states and transitions
$graph = new StateGraph('nameOfGraph');
$graph->addState(new State('state1'))
->addState(new State('state2'))
->addState(new State('state3'))
->addTransition(new State('state1'), new State('state2'), new Transition('pending'))
->addTransition(new State('state2'), new State('state3'), new Transition('complete'));
$object = new MyStateAwareObject();
$transition = new Transition('t1');
try {
$graph->transition($object, $transition);
} catch (StateMachineException $e) {
//process the error - see `Exceptions` directory
}
use Chippyash\StateMachine\Events\EventableStateGraph;
$graph = new EventableStateGraph('stategraphname');
$graph->setEventDispatcher($EventDispatcherInterfaceCompatible);
use Chippyash\StateMachine\Builder\XmlBuilder;
use Chippyash\StateMachine\Exceptions\InvalidStateMachineFileException;
try {
$stateGraph = (new XmlBuilder())->build('path/to/graph.xml');
} catch (InvalidStateMachineFileException $e) {
//process errors
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.