PHPackages                             netzmacht/workflow - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. netzmacht/workflow

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

netzmacht/workflow
==================

Workflow library

2.1.1(5y ago)378588[2 issues](https://github.com/netzmacht/workflow/issues)1LGPL-3.0-or-laterPHPPHP &gt;=7.1

Since Dec 18Pushed 5mo ago5 watchersCompare

[ Source](https://github.com/netzmacht/workflow)[ Packagist](https://packagist.org/packages/netzmacht/workflow)[ GitHub Sponsors](https://github.com/dmolineus)[ RSS](/packages/netzmacht-workflow/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (13)Used By (1)

Framework independent workflow library
======================================

[](#framework-independent-workflow-library)

[![Build Status](https://camo.githubusercontent.com/007652268ba5ab57bb5a737bf651f4a69df8b83b65d822038b178d662b14c948/687474703a2f2f696d672e736869656c64732e696f2f7472617669732f6e65747a6d616368742f776f726b666c6f772f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/netzmacht/workflow)[![Version](https://camo.githubusercontent.com/4c84d5d16e2cfbee7c5171c6fba9b2195583967fdfbd1c7bb91b977f9658b864/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e65747a6d616368742f776f726b666c6f772e7376673f7374796c653d666c61742d737175617265)](http://packagist.com/packages/netzmacht/workflow)[![Code quality](https://camo.githubusercontent.com/52b63465a2e98efb0109fbc5a7aa01925f0dcc1b65c64de42cedfb4eff1ea3a8/687474703a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6e65747a6d616368742f776f726b666c6f772e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/netzmacht/workflow/)[![Code coverage](https://camo.githubusercontent.com/3ec25edb189425c3c6d7abb5fe381f23e50006089f896a5ae440fcc3aa42b21d/687474703a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f6e65747a6d616368742f776f726b666c6f772e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/netzmacht/workflow/)

This is a framework independent workflow library. It provides an step-transition based workflow implementation for processing entities through its life cycle.

Due to its data format and framework independence it **does not run** as a standalone workflow library. The entity/data implementation and input processing via forms have to be implemented. This workflow library is more a **skeleton** for your workflow requirements.

Features
--------

[](#features)

**The main concept**

- An entity processes different steps in its lifecycle.
- The process between two steps is called Transition.
- A transition can depend on conditions which determine if the transition is available.
- Each transition contains a list of actions which are performed to reach the next step.
- Actions can require additional user input to perform the transition.
- User input are handled by a form.

**Workflow items**

- The Item wraps the entity to provide workflow related information.
- It knows the current state and the whole state history.
- Due to the flexibility of the data structure the EntityId is used to identify an entity.

**Worfklow**

- An workflow is defined for a specific entities from a specific data provider.
- The workflow is the definition of multiple steps and their transitions.
- A workflow always has one start transition.
- It can have multiple end transitions.

**Manager**

- There can be multiple workflow definitions for the same data provider.
- The manager selects the matching workflow and creates the transition handler.
- At the moment an item can only be in one workflow.

**Permissions**

- Transitions and steps can can be limited to an permission.
- Checking the permission and organizing them is part of the current implementation.

**More features**

- Collection based repositories.
- Transaction save transitions.
- Flexible config system for workflows, steps and transitions.

Requirements
------------

[](#requirements)

This library requires at least PHP 7.1.

Changelog
---------

[](#changelog)

See the [CHANGELOG.md](https://github.com/netzmacht/workflow/blob/develop/CHANGELOG.md)

Example
-------

[](#example)

You may have a look at the [examples](https://github.com/netzmacht/workflow/tree/develop/example).

A concrete implementation is available as integration for CMS Contao [netzmacht/contao-workflow](https:github.com/netzmacht/contao-workflow).

Credits
-------

[](#credits)

This library is heavenly inspired by the great workflow implementation of [orocrm plattform](http://github.com/orocrm/plattform)and got some concepts from the [LexikWorkflowBundle](https://github.com/lexik/LexikWorkflowBundle).

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance47

Moderate activity, may be stable

Popularity27

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~288 days

Recently: every ~177 days

Total

8

Last Release

2147d ago

Major Versions

1.0.0-beta2 → 2.0.0-beta12017-11-24

PHP version history (3 changes)1.0.0-beta1PHP ~5.3

1.0.0-beta2PHP &gt;=5.4

2.0.0-beta1PHP &gt;=7.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/8189209?v=4)[netzmacht](/maintainers/netzmacht)[@netzmacht](https://github.com/netzmacht)

---

Top Contributors

[![dmolineus](https://avatars.githubusercontent.com/u/1186266?v=4)](https://github.com/dmolineus "dmolineus (212 commits)")

---

Tags

workflowtransitionstates

### Embed Badge

![Health badge](/badges/netzmacht-workflow/health.svg)

```
[![Health](https://phpackages.com/badges/netzmacht-workflow/health.svg)](https://phpackages.com/packages/netzmacht-workflow)
```

###  Alternatives

[symfony/workflow

Provides tools for managing a workflow or finite state machine

62842.3M170](/packages/symfony-workflow)[yohang/finite

A simple PHP Finite State Machine

1.3k3.5M10](/packages/yohang-finite)[pragmarx/countries

PHP Countries and Currencies

1.9k3.3M18](/packages/pragmarx-countries)[franzl/studio

Develop your Composer libraries with style

1.1k634.5k15](/packages/franzl-studio)[dougsisk/laravel-country-state

Country &amp; state helper for Laravel.

1681.7M](/packages/dougsisk-laravel-country-state)[zerodahero/laravel-workflow

Integerate Symfony Workflow component into Laravel.

204815.2k4](/packages/zerodahero-laravel-workflow)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
