caner/state-machine
A lightweight Laravel state machine for Eloquent models. Define states, transitions and guards, apply them safely with validation, events and history, and keep workflow logic out of controllers and models. Ideal for approvals, orders and multi-step processes.
|
Package
|
Score
|
Description
|
Stars
|
Likes
|
Forks
|
Downloads
|
Issues
|
Score
|
Opportunity
|
License
|
Last Release
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 021/safely-transaction | 0.89 | A Laravel package for running database transactions safely, wrapping Laravel's transaction handling so failures roll back cleanly and transaction logic stays simple, predictable, and easy to use across your application. | 1 | 1 | 0 | 518 | 0 | 0.0 | 33.4 | — | — | |
| sfolador/laravel-locked | 0.88 | sfolador/laravel-locked adds simple record locking to your Laravel Eloquent models, helping prevent conflicting concurrent edits. Lock records before modifying them so simultaneous requests can't overwrite each other's changes. | 41 | — | 2 | — | 0 | 0.7 | 0.8 | MIT | 3 years ago | |
| reshadman/laravel-optimistic-locking | 0.87 | Add optimistic locking to your Laravel Eloquent models to prevent lost updates. It tracks version numbers on save, throws exceptions on conflicts, and works with your existing models—no schema changes beyond a version column. | 96 | — | 24 | — | 6 | 2.9 | 1.9 | MIT | 7 years ago | |
| piece/stagehand-fsm | 0.87 | Stagehand FSM is a Laravel/PHP finite state machine package for defining states, transitions, guards, and actions. Model workflows and object lifecycles with clean, testable state-driven logic. | 36 | — | 9 | — | 2 | 1.1 | 0.8 | BSD-2-Clause | 8 years ago |
|
| christhompsontldr/laravel-fsm | 0.87 | A plug-and-play finite state machine for Laravel with guards, actions, callbacks, events, and transition logging. Define states and transitions per model column to power order workflows, verification flows, and more. | 8 | 7 | 0 | 5 | 0 | 12.0 | 2.9 | MIT | 5 months ago | |
| elcodi/state-transition-machine-bundle | 0.87 | Symfony bundle from the Elcodi e-commerce suite that provides state transition machine support for managing workflow states. This package is a read-only mirror maintained via the main elcodi/elcodi repository under the MIT license. | 0 | 0 | 0 | 20 | 0 | 0.0 | 18.3 | MIT | — | |
| lowerrocklabs/laravel-lockable | 0.87 | — | 8 | 8 | 3 | 1 | 2 | 2.5 | 2.5 | MIT | 2 years ago | |
| juststeveking/state-machine | 0.86 | A lightweight state machine for Laravel and PHP applications. Define states and allowed transitions, then move models or objects through workflows with clear, testable rules and guard conditions. | 2 | 2 | 0 | 316 | 0 | 10.7 | 30.6 | MIT | 5 months ago | |
| mhqady/flowra | 0.86 | Flowra is a database-driven workflow and state machine engine for Laravel. Define typed states, guarded transitions, and actions; persist each model's current state with a full transition audit history. Includes generators, query scopes, bulk transitions, and diagram export. | 2 | 2 | 1 | 134 | 0 | 14.9 | 25.8 | — | 3 months ago | |
| quarks/laravel-locking | 0.86 | quarks/laravel-locking brings simple, expressive pessimistic locking to Laravel's Eloquent models, with helpers for exclusive and shared locks so you can safely coordinate concurrent writes and prevent race conditions inside database transactions. | 3 | 3 | 0 | 125 | 1 | 0.1 | 20.8 | MIT | 4 years ago | |
| amrlotfy/laravel-chores | 0.86 | amrlotfy/laravel-chores offers a lightweight way to define and manage recurring household chores in Laravel apps, with scheduling, assignments, and completion tracking. Eloquent-friendly models and simple configuration help you add chore rotations without building the plumbing yourself. | 35 | — | 0 | — | 0 | 0.2 | — | MIT | — | |
| winzou/state-machine | 0.86 | Lightweight PHP state machine library. Define graphs with states, transitions, and guard/before/after callbacks, then apply and validate transitions on your domain objects. Supports multiple graphs per object and configurable state property paths. | 518 | 524 | 74 | 135K | 4 | 19.3 | 39.5 | MIT | 7 months ago | |
| sofa/model-locking | 0.86 | — | 48 | 50 | 28 | 10 | 3 | 5.7 | 2.6 | MIT | 6 years ago | |
| hatchyu/laravel-sequence | 0.85 | A Laravel package for generating customizable, concurrency-safe sequential numbers for invoices, orders, and other records. Database-backed sequences support configurable formats, prefixes, reset schedules, and easy model integration, helping you create human-readable IDs without collisions. | 6 | 7 | 0 | 3K | 0 | 8.0 | 38.6 | MIT | 7 months ago | |
| denisyu-1/articulate | 0.85 | Articulate is a context-bounded ORM for modular PHP apps sharing database tables. Map multiple small entity classes to one table, with repositories, relations, migrations, identity map, unit of work, lazy loading, caching, and MySQL/PostgreSQL support. | 3 | 3 | 0 | 0 | 6 | 21.3 | 4.4 | Apache-2.0 | 1 month ago | |
| kirschbaum-development/monitor | 0.85 | Monitor is a Laravel package from Kirschbaum Development that helps you keep tabs on your application's health and performance. It offers a lightweight, configurable way to add monitoring and catch issues before they affect your users or services. Designed for simple setup and integration into exist... | 3 | 4 | 0 | 2 | 0 | 17.5 | 2.8 | MIT | 1 month ago | |
| laravel-appkit/lockable | 0.85 | Lockable adds record-level locking to Laravel Eloquent models, helping prevent concurrent edits and race conditions. Acquire, release, and auto-expire locks through a simple trait and fluent API, keeping your data safe in multi-user applications. | 2 | — | 0 | — | 0 | 0.5 | 1.1 | MIT | 5 years ago | |
| aeatech/transaction-manager-common-transactions | 0.85 | Shared transaction definitions and utilities for AeaTech Transaction Manager. Centralizes common transaction types, payload structures, and helper classes used across services/packages to keep implementations consistent and reusable. | 0 | 0 | 0 | 0 | 0 | 0.0 | — | MIT | — | |
| cybercog/laravel-eloquent-flag | 0.85 | Add boolean flags to any Eloquent model with cybercog/laravel-eloquent-flag. Mark records as flagged, unflag or toggle them, and query flagged or unflagged rows using clean, expressive methods and local scopes—no extra boilerplate needed. | 134 | — | 20 | — | 8 | 10.8 | 2.4 | MIT | 8 months ago | |
| ruwork/synchronizer | 0.85 | A Laravel package that simplifies synchronizing related Eloquent models and their pivot data, letting you keep associated records consistent through a single declarative call instead of manual attach, detach, and update logic. | 0 | 0 | 0 | 3 | 0 | 0.0 | 8.3 | MIT | 8 years ago |
How can I help you explore Laravel packages today?