API Reference
This page is intentionally high-level and focuses on the public surface most users touch first.
WorkflowBehavior
Primary methods:
canTransition(EntityInterface $entity, string $transition, array $context = []): boolapplyTransition(EntityInterface $entity, string $transition, array $context = []): TransitionResultgetAvailableTransitions(EntityInterface $entity): arraygetCurrentState(EntityInterface $entity): stringisInState(EntityInterface $entity, string $state): boolisFinal(EntityInterface $entity): boolhasFlag(EntityInterface $entity, string $flag): boolgetWorkflowDefinition(): Definition
Custom finders:
findWithFlag(SelectQuery $query, string $flag): SelectQueryfindWithoutFlag(SelectQuery $query, string $flag): SelectQueryfindInFinalState(SelectQuery $query): SelectQueryfindNotInFinalState(SelectQuery $query): SelectQueryfindInState(SelectQuery $query, string $state): SelectQuery
State name helpers:
getStateNamesWithFlag(string $flag): arraygetStateNamesWithoutFlag(string $flag): arraygetFinalStateNames(): array
StateMachineEngine
Core responsibilities:
- resolve current state
- validate transition applicability
- evaluate guards
- execute commands and lifecycle callbacks
- dispatch workflow events
- process automatic transitions
TransitionResult
Represents:
- success
- blocked transition
- transition error
Important values:
- from state
- target state
- blocked reasons
- throwable for errors
WorkflowRegistry
Registry responsibilities:
- load definitions by name
- return workflow names
- provide engine instances
WorkflowHelper
Useful template helpers:
- Mermaid diagram rendering
- state badge rendering
- transition button rendering