用match实现php中的状态机

   2024-09-30 7960
核心提示:在 PHP 中,你可以使用 switch 和 case 语句来实现一个简单的状态机。这是一个示例:?phpclass StateMachine {private $state;pu

在 PHP 中,你可以使用 switchcase 语句来实现一个简单的状态机。这是一个示例:

<?phpclass StateMachine {    private $state;    public function __construct($initialState) {        $this->state = $initialState;    }    public function setState($newState) {        $this->state = $newState;    }    public function getState() {        return $this->state;    }    public function run() {        switch ($this->state) {            case 'state1':                echo "Running state1\n";                break;            case 'state2':                echo "Running state2\n";                break;            case 'state3':                echo "Running state3\n";                break;            default:                echo "Unknown state\n";                break;        }    }}$stateMachine = new StateMachine('state1');$stateMachine->run(); // Output: Running state1$stateMachine->setState('state2');$stateMachine->run(); // Output: Running state2$stateMachine->setState('state3');$stateMachine->run(); // Output: Running state3$stateMachine->setState('unknown');$stateMachine->run(); // Output: Unknown state

在这个示例中,我们创建了一个名为 StateMachine 的类,它有一个私有属性 $state 用于存储当前状态。我们还定义了一些方法,如 setState()getState()run()run() 方法使用 switch 语句根据当前状态执行相应的操作。

要使用这个状态机,你需要创建一个 StateMachine 对象,并设置初始状态。然后,你可以使用 setState() 方法更改状态,并使用 run() 方法执行与当前状态相关的操作。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号