Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Flow Bundle

Flow Bundle Laravel Package

sylius/flow-bundle

Sylius FlowBundle provides a flexible workflow and state-machine layer for Symfony applications, letting developers define flows, steps, transitions, and callbacks to model checkout, order, or custom business processes with clean, configurable PHP code.

View on GitHub
Deep Wiki
Context7

[READ-ONLY] Multi step actions, suitable for building checkouts or setups.

Frequently asked questions about Flow Bundle
Is sylius/flow-bundle compatible with Laravel?
It is a Symfony bundle, not a Laravel package, so it is not compatible out of the box. It assumes Symfony's DependencyInjection container, EventDispatcher, HttpKernel routing, and typically Doctrine. Laravel has no bundle or compiler-pass concept, so using it means running two container and event systems side by side with adapters at each step processor.
Can I install sylius/flow-bundle with Composer in a Laravel application?
Composer-installing it is mechanically possible, but it places Symfony components alongside Illuminate with no shared configuration, container, or routing surface. The realistic path is to treat the repository as a design reference and reimplement the pattern with Laravel primitives rather than pulling it in as a dependency.
Is sylius/flow-bundle still maintained?
The repository is archived and read-only, with zero dependents and around 83 stars. That means no upstream fixes, no security response channel, and no demonstrated third-party production usage. There is also no evidence of PHP 8.2/8.3 or modern Symfony compatibility, so a break on a PHP minor upgrade leaves you with your own fork as the only remediation.
How do you define state machines and transitions in Sylius FlowBundle?
State machines and transitions are declared in YAML configuration per resource instead of boilerplate PHP. The bundle adapts Sylius' resource state-machine abstraction onto Symfony's Workflow component, so transitions, guards, and callbacks behave consistently. Guards and event listeners are registered automatically, and it stays compatible with Sylius applyTransition and state-machine APIs.
How do transition callbacks and guards work in Sylius FlowBundle?
Guards decide whether a transition may fire, while transition callbacks run your custom business logic around the change of state. Both hook into Symfony's Workflow event system and therefore assume Symfony's EventDispatcher is present. Porting to Laravel means recreating that behaviour with Laravel events, listeners, or step-guard middleware.
What is the difference between sylius/flow-bundle and symfony/workflow?
FlowBundle is a thin Sylius layer over symfony/workflow that adds per-resource YAML configuration and Sylius state-machine APIs. symfony/workflow is the underlying, framework-agnostic state machine and is actively maintained. It models state transitions rather than wizard UI steps, so you still need a presentation layer on top.
How would I model a multi-step checkout or wizard in Laravel using this pattern?
The portable pieces are ordered steps, a process context carrying flow storage and the request, a per-step display and process contract, and storage-backed partial state between steps. In Laravel that maps to a Step interface, a flow definition object, a FlowManager resolving the active step from route and session, a state store, and middleware acting as a step guard against out-of-order access. Generating routes from the flow definition is the biggest boilerplate reduction the source offers, and a hardened, tested version is roughly a one to two sprint effort.
Does sylius/flow-bundle support branching or conditional steps?
Its DSL covers linear ordered sequences well and branching less so. If you need conditional steps you will likely have to extend the design or drop down to a state machine directly. Decide up front whether branching and back-navigation are required, because they imply materially different state models and estimates.
How do I export a workflow graph to GraphViz?
It supports GraphViz export of workflow graphs through Symfony's Workflow component. That dump is useful for documenting a flow definition before porting it to another framework. If you reimplement the pattern in Laravel, plan to regenerate diagrams from your own flow definition instead.
What should I check before depending on sylius/flow-bundle in production?
Run a compatibility spike against your target PHP and Laravel versions, because support is currently unverified. Confirm the licence terms directly from the repository rather than assuming them from the Sylius parent project. Also decide who owns the code after a port or fork, and whether that ownership is budgeted indefinitely.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console