survos/workflow-extension-bundle
A Symfony bundle that extends the Symfony Workflow component with extra features for configuring, visualizing, and working with workflows and state machines. It helps you define workflow behavior in configuration and integrate workflow-driven logic more easily into Symfony applications.
composer require survos/workflow-extension-bundle
src/*Bundle.php, commonly SurvosWorkflowExtensionBundle) to config/bundles.php for all or dev environments.config/routes.yaml in the package or a documented prefix like /workflows). Most admin-style bundles expose attribute-routed controllers, so verify with:
bin/console debug:router | grep -i workflow
src/Controller/, templates/, and DependencyInjection/Configuration.php. These tell you the exposed routes, what data the UI needs, and which config keys exist. Do this before writing any integration code.config/packages/workflow.yaml (a marking store and a couple of places/transitions), open the admin route in dev, and confirm the UI reflects your workflow definition. That validates service registration, routing, and marking-store wiring in one pass.framework.workflows, so define workflows, places, transitions, guards, and metadata there first; the admin UI just visualizes/drives them.method (getMarking/setMarking) or property (marking), the subject must implement it correctly. The admin UI is the fastest way to see if state is being read/written as expected.config/bundles.php under when@dev / a dev-only routes file. Use the UI to fire transitions against a real subject while developing, instead of writing throwaway controllers.bin/console cache:clear (compiled container holds workflow definitions), then refresh the UI. Cross-check with bin/console workflow:dump <name> for the canonical graph.WorkflowInterface per workflow) and use can()/apply() in your app code; use the bundle's UI purely for observation and manual transition testing. Keep the two paths separate so admin features don't leak into production flows."survos/workflow-extension-bundle": "0.1.*" or the specific tag) and review the diff on every update.workflow-extension-bundle; the bundle class/service IDs may use a different prefix (survos_workflow_extension...). Use bin/console debug:container | grep -i workflow and debug:router rather than guessing.access_control or keep it strictly out of prod. Do not import the routes globally in config/routes.yaml without a guard.cache:clear.debug:container when it isn't.templates/bundles/<BundleName>/... (standard Symfony bundle override), decorate services for extra behavior, and listen to workflow.<name>.transition / .guard events for hooks — but avoid patching the bundle itself, or you'll lose the change on the next composer update.workflow:dump plus a small dev-only controller around the workflow registry gives you 90% of the value with zero dependency risk.How can I help you explore Laravel packages today?