sidfate / fsm
A simple finite state machine
1.0.0
2017-06-26 08:28 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2025-06-26 18:01:45 UTC
README
A simple finite state machine
Install
composer require sidfate/fsm
Usage
$fsm = new Fsm([
'init'=> 'green',
'events'=> [
['name'=> 'warn', 'from'=> 'green', 'to'=> 'yellow'],
['name'=> 'stop', 'from'=> 'yellow', 'to'=> 'red'],
['name'=> 'go', 'from'=> 'red', 'to'=> 'green'],
]
]);
$fsm->onWarn(function () {
echo 'I am warn';
});
echo $fsm->now(); // green
$fsm->warn(); // I am warn
echo $fsm->now(); // yellow
Document
License
MIT