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

ActiveLibrary

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 1mo 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

2860d 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

[simple-bus/message-bus

Generic classes and interfaces for messages and message buses

3455.7M30](/packages/simple-bus-message-bus)[prooph/service-bus-symfony-bundle

88392.2k3](/packages/prooph-service-bus-symfony-bundle)[simple-bus/rabbitmq-bundle-bridge

Use OldSoundRabbitMQBundle with SimpleBus/AsynchronousBundle

39827.3k4](/packages/simple-bus-rabbitmq-bundle-bridge)[simple-bus/asynchronous-bundle

Symfony bundle for using SimpleBus/Asynchronous

241.2M6](/packages/simple-bus-asynchronous-bundle)[c-datculescu/amqp-base

Allows easy declaration and management of complex AMQP configurations

1268.1k](/packages/c-datculescu-amqp-base)

PHPackages © 2026

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