PHP中有卫士的有限状态机?

Bam*_*ban 10 php state-machine

有人知道PHPfinite state machine中有防护功能吗?

Rus*_*sak 5

使用PEAR的FSM(用法示例),如果防护失败,您可以使用动作回调返回下一个状态,如下所示:

$payload = '';
$fsm = new FSM('STATE1', $payload);
function guard1($symbol, $payload) {
    if ($payload == 'something') {
        // Guard success, allow transition
        return;
    }
    else {
        // Guard fail, return to previous state
        return 'STATE1';
    }
}
$fsm->addTransition('SYMBOL1', 'STATE1', 'STATE2', 'guard1');

$fsm->process('SYMBOL1');
Run Code Online (Sandbox Code Playgroud)