Download the PHP package vandetho/symflow-laravel without Composer
On this page you can find all versions of the php package vandetho/symflow-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download vandetho/symflow-laravel
More information about vandetho/symflow-laravel
Files in vandetho/symflow-laravel
Download vandetho/symflow-laravel
More information about vandetho/symflow-laravel
Files in vandetho/symflow-laravel
Vendor vandetho
Package symflow-laravel
Short Description A Symfony-compatible workflow engine for Laravel. State machines, Petri nets, guards, events, validation, weighted arcs, middleware, and YAML/JSON/PHP import/export.
License MIT
Package symflow-laravel
Short Description A Symfony-compatible workflow engine for Laravel. State machines, Petri nets, guards, events, validation, weighted arcs, middleware, and YAML/JSON/PHP import/export.
License MIT
Please rate this library. Is it a good library?
Informations about the package symflow-laravel
SymFlow for Laravel
A Symfony-compatible workflow engine for Laravel. State machines, Petri nets, guards, events, weighted arcs, middleware, and YAML/JSON/PHP/Mermaid/Graphviz/SVG import/export.
Part of the SymFlow ecosystem. See also symflow for the TypeScript/Node.js version.
Installation
Quick Start
Define a workflow in config/laraflow.php:
Use the Eloquent trait:
Or use the Facade:
Features
- Two workflow types --
state_machineandworkflow(Petri net with parallel states) - Symfony event order --
guard > leave > transition > enter > entered > completed > announce - Subject-driven API -- mirrors Symfony's
$workflow->apply($entity, 'submit')pattern - Marking stores --
propertyandmethodstores, or implement your own - Pluggable guards --
GuardEvaluatorInterfacefor custom authorization - Structured guard results -- return
GuardResult::deny($reason, $code)so blockers carry a human-readable reason - Blockable Guard event -- listeners can veto a transition via
$event->setBlocked(true, reason, code) - Listener scoping & priority --
on()accepts an optional transition name and priority for declarative ordering - Listener error modes --
ListenerErrorMode::Throw / Collect / Swallowcontrols how listener exceptions surface - Weighted arcs --
consumeWeight/produceWeightfor multi-token transitions - Middleware -- wrap
apply()with logging, transactions, metrics - Validation -- 8 error types including BFS reachability analysis
- Pattern analysis -- AND-split, AND-join, OR-split, XOR detection
- Import/Export -- YAML (Symfony-compatible), JSON, PHP codegen, Mermaid, Graphviz DOT, SVG (auto-layout, dark/light theme)
- Eloquent trait --
HasWorkflowTraitfor model integration - Laravel events -- 7 event classes for the full transition lifecycle
- Artisan commands --
laraflow:validate,laraflow:mermaid,laraflow:dot
Examples
End-to-end Laravel apps built on symflow-laravel:
| Repo | What it shows |
|---|---|
| symflow-laravel-expense-approval | Multi-stage expense approval as a Petri net — parallel legal/finance/manager review, Livewire 3 + Tailwind, Fly.io-ready |
| symflow-laravel-issue-tracker | Issue tracker with parallel code-review + qa-review tracks — Petri net + Livewire, Fly.io-ready |
| symflow-laravel-order-lifecycle | Three concurrent workflows on one Order model — order_lifecycle + order_payment state machines and an order_fulfillment Petri net (parallel pick + pack), shared guard + audit middleware |
Documentation
| Guide | Description |
|---|---|
| Getting Started | Installation, first workflow, Eloquent trait |
| Engine API | WorkflowEngine, guards, validation, pattern analysis |
| Subject API | Workflow facade, marking stores, config-driven workflows |
| Weighted Arcs | Multi-token transitions |
| Middleware | Lifecycle hooks, transactions, logging |
| Events | Symfony event order, Laravel event integration |
| Artisan Commands | validate, mermaid, dot |
| Persistence Formats | YAML, JSON, PHP, Mermaid, Graphviz |
License
MIT
All versions of symflow-laravel with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.2
illuminate/contracts Version ^11.0|^12.0
illuminate/support Version ^11.0|^12.0
illuminate/console Version ^11.0|^12.0
illuminate/events Version ^11.0|^12.0
symfony/yaml Version ^6.4|^7.0
illuminate/contracts Version ^11.0|^12.0
illuminate/support Version ^11.0|^12.0
illuminate/console Version ^11.0|^12.0
illuminate/events Version ^11.0|^12.0
symfony/yaml Version ^6.4|^7.0
The package vandetho/symflow-laravel contains the following files
Loading the files please wait ...