<?php namespace nur\data\flow; /** * Interface IStateMachine: interface pour une machine à état */ interface IStateMachine { /** obtenir l'état courant */ function get_current_state(): array; /** obtenir la liste des actions possible à partir de l'état courant */ function get_next_actions(): array; /** faire l'action spécifiée */ function perform_action(string $action, ?array $data=null): void; }