PHPackages                             waltertamboer/communicator - 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. waltertamboer/communicator

ActiveLibrary

waltertamboer/communicator
==========================

A PHP library that helps communicating by broadcasting your messages to one or multiple channels.

2439PHP

Since Jan 25Pushed 6y ago1 watchersCompare

[ Source](https://github.com/waltertamboer/communicator)[ Packagist](https://packagist.org/packages/waltertamboer/communicator)[ RSS](/packages/waltertamboer-communicator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Communicator
============

[](#communicator)

[![Latest Version on Packagist](https://camo.githubusercontent.com/e136444f5ade97929ed6c31c7cbfbcf3aead5b833065d2613c9179f09cc35a62/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f77616c74657274616d626f65722f636f6d6d756e696361746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/waltertamboer/communicator)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/63ea5f601f8984c1f1c11aec9e5a386d112559656dd6a1228ff3b12bd13ed647/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f77616c74657274616d626f65722f636f6d6d756e696361746f722f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/waltertamboer/communicator)[![Coverage Status](https://camo.githubusercontent.com/f18b31866c219cc2aeb21a90bcbacd9a6cfbb881a3845c2bcd33e10b24d6261e/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f77616c74657274616d626f65722f636f6d6d756e696361746f722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/waltertamboer/communicator/code-structure)[![Quality Score](https://camo.githubusercontent.com/45e54e1df47adada13188f274a7fb0a266fff433cdcf4e9371e29385b6e39413/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f77616c74657274616d626f65722f636f6d6d756e696361746f722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/waltertamboer/communicator)[![Total Downloads](https://camo.githubusercontent.com/a745d6c3ef368e6b8ae0e4b6b9dad3ba1b18c80417939544d05b2730214830f6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f77616c74657274616d626f65722f636f6d6d756e696361746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/waltertamboer/communicator)

Communicator is a PHP library that helps you broadcast messages over multiple channels. This can be useful when you want to send notifcations to users via multiple transports such as e-mail, SMS or IRC.

Install
-------

[](#install)

Via Composer

```
$ composer require waltertamboer/communicator
```

Usage
-----

[](#usage)

Since communicator doesn't know where to send messages to, you need to implement the `Communicator\Recipient\RecipientInterface` interface. Communicator will use it to determine the target addresses.

```
$recipient = new ... // An implementation of Communicator\Recipient\RecipientInterface

$communicator = new Communicator\Communicator();

// Bind a transport. Of course this can be any transport you require.
// It's also possible to bind multiple transports to the same channel.
$communicator->bindTransport('my-channel', new Communicator\Transport\Noop\Transport());

// Now broadcast a message to all transports.
$communicator->broadcast(
    [
        $recipient,
    ],
    'my-channel',
    [
        'my-param' => 'some param',
    ]
);
```

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
$ composer test
```

Contributing
------------

[](#contributing)

Install the dependencies via Docker:

```
docker run --rm --interactive --tty \
    --volume $PWD:/app \
    --volume $SSH_AUTH_SOCK:/ssh-auth.sock \
    --volume /etc/passwd:/etc/passwd:ro \
    --volume /etc/group:/etc/group:ro \
    --user $(id -u):$(id -g) \
    --env SSH_AUTH_SOCK=/ssh-auth.sock \
    composer install
```

Run the unit tests:

Just make sure the unit tests are present :-)

Credits
-------

[](#credits)

- [Walter Tamboer](https://github.com/waltertamboer)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0ee7f711ef4d45ada0ac92c7ab2f548055a7cfbe718da6c4bbb81b2f6693c528?d=identicon)[waltertamboer](/maintainers/waltertamboer)

---

Top Contributors

[![waltertamboer](https://avatars.githubusercontent.com/u/508054?v=4)](https://github.com/waltertamboer "waltertamboer (13 commits)")

---

Tags

broadcastcommunicationmessagingphp7php71

### Embed Badge

![Health badge](/badges/waltertamboer-communicator/health.svg)

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

PHPackages © 2026

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