PHPackages                             wakeonweb/message-bus-publisher - 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. wakeonweb/message-bus-publisher

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

wakeonweb/message-bus-publisher
===============================

WakeOnWeb MessageBus publisher

v0.3.1(7y ago)14.6k1[4 issues](https://github.com/WakeOnWeb/message-bus-publisher/issues)privatePHPPHP &gt;=7.0

Since Jan 8Pushed 7y ago1 watchersCompare

[ Source](https://github.com/WakeOnWeb/message-bus-publisher)[ Packagist](https://packagist.org/packages/wakeonweb/message-bus-publisher)[ Docs](https://bitbucket.org/wakeonweb/message-bus-publisher)[ RSS](/packages/wakeonweb-message-bus-publisher/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (6)Dependencies (1)Versions (7)Used By (0)

WakeOnWeb MessageBusPublisher
=============================

[](#wakeonweb-messagebuspublisher)

**important, we don't ensure BC compatibility in 0.x tags, we'll ensure it from 1.x only**

Installation
------------

[](#installation)

`composer.json`

```
    "require": [
        "wakeonweb/message-bus-publisher": "^0.1"
    ],

```

If you use **Symfony**, you can load the bundle `WakeOnWeb\MessageBusPublisher\App\Bundle\WakeonwebMessageBusPublisherBundle`.

Usage
-----

[](#usage)

### Synchronous

[](#synchronous)

```
wakeonweb_message_bus_publisher:
    publishing:
        listened_prooph_buses: [event_bus]
        delivery_mode: synchronous
    driver:
        # ... see driver chapter

```

Define the prooph buses this publisher will listen to. Once an message is dispatched in theses buses, it'll dispatch messages to targets.

### Asynchronous

[](#asynchronous)

```
wakeonweb_message_bus_publisher:
    publishing:
        listened_prooph_buses: [event_bus]
        delivery_mode: asynchronous
        queue_name: my_queue_name.{target}
    driver:
        # ... see driver chapter

```

Define the prooph buses this publisher will listen to. Once an message is dispatched in theses buses, it'll guess route then dispatch this message in a dedicated queue called `my_queue_name.{target}` where {target} is the target name.

Then consume theses messages to dispatch them to targets:

```
./bin/console bernard:consume my_queue_name.target_x

```

Audit
-----

[](#audit)

This library can audit listened messages and targeted messages:

```
wakeonweb_message_bus_publisher:
    audit:
        drivers:
            monolog:
                level: notice
                only_routed_messages: true # do you want to log each messages ?
            doctrine_orm: ~
            services:
                - x
                - y
```

You can have as many drivers as you want.

To go further in configuration, look at documentation below.

- [Monolog](docs/audit-logger.md)
- [DoctrineORM](docs/audit-doctrine-orm.md)
- [Service](docs/audit-service.md)

Flow
----

[](#flow)

[![flow](docs/flow.png)](docs/flow.png)

Drivers implemented
-------------------

[](#drivers-implemented)

- [Symfony configuration](docs/driver-symfony-configuration.md)
- [DoctrineORM](docs/driver-doctrine-orm.md)

Other documentation
-------------------

[](#other-documentation)

- [How to add a normalizer](docs/add-normalizer.md)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.7% 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 ~36 days

Recently: every ~46 days

Total

6

Last Release

2865d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/47c3006a9e7662031ee9d3fa064238fef88479fd7d60f18dd47f038fbbd7dc5a?d=identicon)[steph\_py](/maintainers/steph_py)

---

Top Contributors

[![stephpy](https://avatars.githubusercontent.com/u/232744?v=4)](https://github.com/stephpy "stephpy (22 commits)")[![ScullWM](https://avatars.githubusercontent.com/u/1017746?v=4)](https://github.com/ScullWM "ScullWM (1 commits)")

---

Tags

message bus

### Embed Badge

![Health badge](/badges/wakeonweb-message-bus-publisher/health.svg)

```
[![Health](https://phpackages.com/badges/wakeonweb-message-bus-publisher/health.svg)](https://phpackages.com/packages/wakeonweb-message-bus-publisher)
```

###  Alternatives

[prooph/event-store-bus-bridge

Marry CQRS with Event Sourcing

37518.3k11](/packages/prooph-event-store-bus-bridge)[prooph/service-bus-symfony-bundle

88392.2k3](/packages/prooph-service-bus-symfony-bundle)[soup/paginator

Paginator is a simple class that allows you to create pagination. It doesn't require any database connection. It is compatible with Twitter's Bootstrap Framework, by using the CSS class pagination that is also attached.

351.5k](/packages/soup-paginator)

PHPackages © 2026

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