PHPackages                             bingo-soft/bpmn - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. bingo-soft/bpmn

ActiveProject[Parsing &amp; Serialization](/categories/parsing)

bingo-soft/bpmn
===============

Bpmn model used in workflow engine

1.1.2(2y ago)55891MITPHPPHP ^7.4 || ^8.0

Since Aug 2Pushed 2y ago2 watchersCompare

[ Source](https://github.com/bingo-soft/bpmn)[ Packagist](https://packagist.org/packages/bingo-soft/bpmn)[ Docs](https://github.com/bingo-soft/xml)[ RSS](/packages/bingo-soft-bpmn/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)Dependencies (4)Versions (10)Used By (1)

[![Latest Stable Version](https://camo.githubusercontent.com/730115e768cea930a73e3388b8508390ab806556fc8e54136f1f33e1e2a9d59b/68747470733a2f2f706f7365722e707567782e6f72672f62696e676f2d736f66742f62706d6e2f762f737461626c652e706e67)](https://packagist.org/packages/bingo-soft/bpmn)[![Minimum PHP Version](https://camo.githubusercontent.com/0e9ac047546796cfdbe1423d1f4d91c8f37d2fbb11614a7900bb7686aaa5401f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230372e342d3838393242462e737667)](https://php.net/)[![License: MIT](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](https://opensource.org/licenses/MIT)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/0dfbd5f201126aa5cc08b2dd49247b1523cf803b6cfbb1b555152d29be0b563d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f62696e676f2d736f66742f62706d6e2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/bingo-soft/bpmn/?branch=main)

bpmn
====

[](#bpmn)

Bpmn model used in workflow engine

Installation
============

[](#installation)

Install Bpmn, using Composer:

```
composer require bingo-soft/bpmn

```

Running tests
=============

[](#running-tests)

```
./vendor/bin/phpunit ./tests

```

Example 1
=========

[](#example-1)

```
//create new invoice business process

Bpmn::createProcess()
        ->executable()
        ->startEvent()
          ->name("Invoice received")
          ->formKey("embedded:app:forms/start-form.html")
        ->userTask()
          ->name("Assign Approver")
          ->formKey("embedded:app:forms/assign-approver.html")
          ->assignee("demo")
        ->userTask("approveInvoice")
          ->name("Approve Invoice")
          ->formKey("embedded:app:forms/approve-invoice.html")
          ->assignee('${approver}')
        ->exclusiveGateway()
          ->name("Invoice approved?")
          ->gatewayDirection("Diverging")
        ->condition("yes", '${approved}')
        ->userTask()
          ->name("Prepare Bank Transfer")
          ->formKey("embedded:app:forms/prepare-bank-transfer.html")
          ->candidateGroups("accounting")
        ->serviceTask()
          ->name("Archive Invoice")
          ->setClass("org.test.bpm.example.invoice.service.ArchiveInvoiceService")
        ->endEvent()
          ->name("Invoice processed")
        ->moveToLastGateway()
        ->condition("no", '${!approved}')
        ->userTask()
          ->name("Review Invoice")
          ->formKey("embedded:app:forms/review-invoice.html" )
          ->assignee("demo")
         ->exclusiveGateway()
          ->name("Review successful?")
          ->gatewayDirection("Diverging")
        ->condition("no", '${!clarified}')
        ->endEvent()
          ->name("Invoice not processed")
        ->moveToLastGateway()
        ->condition("yes", '${clarified}')
        ->connectTo("approveInvoice")
        ->done();
```

Example 2
=========

[](#example-2)

```
// Read business process from file

$fd = fopen('test.bpmn', 'r+');
$modelInstance = Bpmn::readModelFromStream($fd);
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.9% 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 ~37 days

Recently: every ~13 days

Total

9

Last Release

1077d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/72e4d0dc8a6479742cdd0f141255b6f130df96cf2a1e3640349b9c737138697a?d=identicon)[bingo-soft](/maintainers/bingo-soft)

---

Top Contributors

[![vicvolk](https://avatars.githubusercontent.com/u/7192415?v=4)](https://github.com/vicvolk "vicvolk (10 commits)")[![bingo-soft](https://avatars.githubusercontent.com/u/48438172?v=4)](https://github.com/bingo-soft "bingo-soft (1 commits)")

---

Tags

phpxmlautomationprocessmodelworkflowbpmn

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/bingo-soft-bpmn/health.svg)

```
[![Health](https://phpackages.com/badges/bingo-soft-bpmn/health.svg)](https://phpackages.com/packages/bingo-soft-bpmn)
```

###  Alternatives

[m1/vars

Vars is a simple to use and easily extendable configuration loader with in built loaders for ini, json, PHP, toml, XML and yaml/yml file types. It also comes with in built support for Silex and more frameworks to come soon.

69124.2k1](/packages/m1-vars)[goetas/xsd2php-runtime

Convert XSD (XML Schema) definitions into PHP classes

493.3k](/packages/goetas-xsd2php-runtime)[bupy7/xml-constructor

The array-like constructor of XML document structure.

1337.9k](/packages/bupy7-xml-constructor)

PHPackages © 2026

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