class TestMachine in State Machine 7.2
Same name and namespace in other branches
- 7.3 state_machine.api.php \TestMachine
- 7 state_machine.api.php \TestMachine
State Machine Developer Documentation
The State Machine module is an API only. You must extend the StateMachine class to use this module. Extend the StateMachine class to get started
Hierarchy
- class \StateMachine
- class \TestMachine
Expanded class hierarchy of TestMachine
See also
the state_flow module for a complete example.
File
- ./
state_machine.api.php, line 11
View source
class TestMachine extends StateMachine {
/**
* Called from StateMachine::__construct to initialize the states and events.
*
* Defines States Draft, Published and Unpublished.
* Define Events Publish, Unpublish and To Draft
*/
public function init() {
// Initialize states
// @see StateMachine::create_state
// Add Draft State
$this
->create_state('draft');
// Add Published State
// We Use the the "on_enter and on_exit functionality."
$this
->create_state('published', array(
# When the state is set to "Published" run the mehtod "on_enter_published" on this object.
'on_enter' => array(
$this,
'on_enter_published',
),
# When leaving the state "Published" then run the method "on_exit_published" on this object.
'on_exit' => array(
$this,
'on_exit_published',
),
));
// Add the state "unpublished"
$this
->create_state('unpublished');
// Initialize events
// @see StateMachine::create_event
// Add the pusblish event to move the state from "draft" to "published"
$this
->create_event('publish', array(
'origin' => 'draft',
'target' => 'published',
));
// Add the unpusblish event to move the state from "published" to "unpublished"
$this
->create_event('unpublish', array(
'origin' => 'published',
'target' => 'unpublished',
));
// Add the "to draft" event to move the state from unpublished to draft
$this
->create_event('to draft', array(
'origin' => 'unpublished',
'target' => 'draft',
));
}
public function on_enter_published() {
// Do some stuff
}
public function on_exit_published() {
// Do some stuff
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
StateMachine:: |
protected | property | ||
StateMachine:: |
protected | property | ||
StateMachine:: |
protected | property | ||
StateMachine:: |
protected | property | ||
StateMachine:: |
protected | property | ||
StateMachine:: |
protected | function | Create a new event. This method does not actually create an event instance, it only stores the options array until an instance is requested from get_event(). | |
StateMachine:: |
protected | function | Create a new state. This method does not actually create a state instance, it only stores the options array until an instance is requested from get_state(). | |
StateMachine:: |
public | function | Trigger an event to process a transition. Callbacks and guard conditions will be processed in the following order: | 1 |
StateMachine:: |
public | function | Get all of the events | |
StateMachine:: |
public | function | Returns an array of events that are valid for the current state. | |
StateMachine:: |
public | function | Returns the current state. | |
StateMachine:: |
protected | function | Return an event instance by key, lazy-loading the instance if necessary. | 1 |
StateMachine:: |
protected | function | Return a state instance by key, lazy-loading the instance if necessary. | |
StateMachine:: |
public | function | Whether State Machine to be ignored | 1 |
StateMachine:: |
protected | function | Load the current state from the given state storage | 1 |
StateMachine:: |
protected | function | Method to be called when firing an event fails for any reason. | 1 |
StateMachine:: |
protected | function | Persist the current state to the object storage. | 1 |
StateMachine:: |
protected | function | Set the current state to the state identified by the specified key. | |
StateMachine:: |
protected | function | Set the initial state for this machine. By default, the initial state is set the the first created state. | |
StateMachine:: |
public | function | ||
TestMachine:: |
public | function |
Called from StateMachine::__construct to initialize the states and events. Overrides StateMachine:: |
|
TestMachine:: |
public | function | ||
TestMachine:: |
public | function |