有人知道PHP 中具有guard 功能的有限状态机
吗?
最佳答案
使用 PEAR's FSM ( usage example ),如果守卫失败,您可以使用 Action 回调返回下一个状态,如下所示:
$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');
关于php - PHP 中带有守卫的有限状态机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230910/