xudid/statemachine

A state machine library

0.0.1 2023-05-26 15:56 UTC

This package is auto-updated.

Last update: 2025-05-23 19:03:24 UTC


README

A base state machine library

Create and initialize states

$stateMachine = new StateMachine();

$stateMachine->addState('initial');

$stateMachine->addState('final');

Add a transition

$stateMachine->transition('initial', 'final');

Guard a transition with logic

$stateMachine->transition('initial', 'final')
    ->guard(function(){
        return ....;
    });