function __construct()
{
$this->load_fsm();
parent::__construct();
}
The
XML file holding the FSM description is found by default if it is called <foo>.xml for class <foo>. Otherwise, use load_fsm($url);
The new post-event action feature allows shorter automata by event chaining
The new default “idle” event allows automatic progress in the absence of explicit events. For instance, whereas a
FTP client using FSM 1.1 will typically send events to connect, get and disconnect in
PHP, the same can be done to a large extend using just the transitions table with FSM 1.2 using this mechanism to fire events in succession.
Because of this change, fsm::apply_event() now returns a fsm_result instead of directly returning the next state. Code needing to know the next state can:
either use apply_simple_event, which is equivalent to the previous incarnation of apply_event
use the fsm_state field from the value returned by fsm::apply_event