Introduction to Workflow Component
The Symfony Workflow component provides tools for managing states and transitions between them. It implements the finite state machine and Petri net patterns.
Basic Concepts
- Places: The states your object can be in
- Transitions: The actions that move between places
- Guards: Conditions that must be met for a transition
- Events: Hooks that are triggered during transitions
Example: Blog Post Publishing
Let's implement a simple publishing workflow:
draft → to_review → published