dhii / machine-state-machine-interface
Interfaces for state machines.
Installs: 2 300
Dependents: 6
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: ^5.3 | ^7.0
- dhii/data-key-value-aware-interface: ^0.1
- dhii/exception-interface: ^0.1|^0.2
- dhii/factory-interface: ^0.1-alpha1
- dhii/stringable-interface: ^0.1
Requires (Dev)
- codeclimate/php-test-reporter: <=0.3.2
- dhii/php-cs-fixer-config: dev-php-5.3
- phpunit/phpunit: ^4.8
- ptrofimov/xpmock: ^1.1
This package is auto-updated.
Last update: 2021-06-09 23:33:10 UTC
README
Interfaces for state machines.
This package aims to provide a standard set of interfaces for working with state machines. For clarity and completion, some terminology must first the defined:
Status
A status is a key or code that identifies a state. State machines will often have a status key for every possible state as well as a current status.
State
A state is a conceptual "frame" in time for a given object. Unlike a status which is simply a key or code, a state typically holds all information about a machine or object at a given status or point in time.
Transition
A transition is a key or code that represents an operation that can be performed on a machine or object. This operation can influence that subject's status and state.