1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- /**
- * Finite state machine skeleton
- *
- * @copyright (c) 2007-2012 Ouest Systèmes Informatiques
- * @author Frédéric G. MARAND
- * @license Licensed under the CeCILL 2.0
- * @link http://wiki.audean.com/fsm/fsm
- *
- * @todo replace setAttribute('id',...) by setIdAttribute when PHP5.2 becomes mandatory
- */
- namespace OSInet\Finite_State_Machine;
- /**
- * needed notably for func_name()
- */
- require_once('misc.php'); // for func_name()
- $erFiniteStateMachine = error_reporting(-1);
- /**
- * This class defines a possible outcome for a given FSM transition.
- */
- class Result {
- /**
- * The return value of the event handler.
- *
- * @var mixed
- */
- public $fsmReturn;
- /**
- * The name of the state to which the FSM must change.
- *
- * If NULL, do not change the current state.
- *
- * @var string
- */
- public $fsmState;
- /**
- * The name of an event to be fired after the state change has been applied.
- *
- * @var string
- */
- public $fsmAction;
- /**
- * @param string $state
- * @param string $action
- */
- public function __construct($return = NULL, $state = NULL, $action = NULL) {
- $this->fsmReturn = $return;
- $this->fsmState = $state;
- $this->fsmAction = $action;
- }
- }
- error_reporting($erFiniteStateMachine);
- unset($erFiniteStateMachine);
|