PHPackages                             ipedis/rabbit-client - 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. ipedis/rabbit-client

ActiveLibrary

ipedis/rabbit-client
====================

Event and Order client library

2.1.0(3mo ago)07↑2900%1PHPPHP &gt;=8.4CI passing

Since Jan 16Pushed 1mo agoCompare

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

READMEChangelogDependencies (10)Versions (47)Used By (1)

Rabbit Client
=============

[](#rabbit-client)

[![CI](https://github.com/ipedis/rabbit-client/actions/workflows/ci.yml/badge.svg)](https://github.com/ipedis/rabbit-client/actions/workflows/ci.yml)[![Latest Version on Packagist](https://camo.githubusercontent.com/dbf4fb6256701f6abac7ef58b8774c7621882d48ea581f4d40361033debd9cf0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6970656469732f7261626269742d636c69656e742e737667)](https://packagist.org/packages/ipedis/rabbit-client)[![PHP Version](https://camo.githubusercontent.com/32662de3922302c79551f86141f7c970abeb90b6356155d610ba344a6be9ac06/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6970656469732f7261626269742d636c69656e742e737667)](https://packagist.org/packages/ipedis/rabbit-client)[![License](https://camo.githubusercontent.com/06bd61804b12e72bd767bb0289c63e0d96134ccc48f027e50d18e0f693335482/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6970656469732f7261626269742d636c69656e742e737667)](https://packagist.org/packages/ipedis/rabbit-client)

RabbitMQ client library for PHP supporting event publishing, order request/reply, and workflow orchestration with progress tracking. Built on the AMQP extension.

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

[](#installation)

```
composer require ipedis/rabbit-client
```

> **Requires** the `ext-amqp` PHP extension.

Quick Start
-----------

[](#quick-start)

### Publish an event

[](#publish-an-event)

```
use Ipedis\Rabbit\Event\EventDispatcher;

class MyDispatcher
{
    use EventDispatcher;

    protected function getSignatureKey(): string
    {
        return 'your-secret';
    }
}

$dispatcher = new MyDispatcher(/* connection config */);
$payload = EventMessagePayload::build('v1.admin.publication.was-exported', [
    'publication' => ['sid' => 42],
]);
$dispatcher->dispatch($payload);
```

### Submit an order and wait for reply

[](#submit-an-order-and-wait-for-reply)

```
use Ipedis\Rabbit\Order\Manager;

class MyManager
{
    use Manager;
}

$manager = new MyManager(/* connection config */);
$payload = OrderMessagePayload::build('v1.admin.publication.generate', ['data' => '...']);

$manager->publish($payload, function (ReplyMessagePayload $reply) {
    echo $reply->getBody(); // Worker result
});

$manager->run(); // Blocks until reply received
```

Key Concepts
------------

[](#key-concepts)

ConceptDescription**Event**Fire-and-forget pub/sub message via `EventDispatcher` / `EventListener`**Order**Request/reply pattern via `Manager` (publisher) / `Worker` (consumer)**Workflow**Sequential groups of orders with progress tracking and retry logic**Channel**Standardized naming: `v...`**Message Payload**Typed payloads with auto-generated UUID, timestamp, and timezoneChannel Naming
--------------

[](#channel-naming)

All channels follow the pattern `v...`:

```
v1.admin.publication.generate
v1.admin.publication.was-exported

```

Workflow Example
----------------

[](#workflow-example)

```
use Ipedis\Rabbit\Workflow\Workflow;
use Ipedis\Rabbit\Workflow\Group;

$workflow = new Workflow(function (Group $group) {
    $group->add(new Task('step-1', $payload1));
    $group->add(new Task('step-2', $payload2));
})
->then(function (Group $group) {
    $group->add(new Task('step-3', $payload3)); // Runs after group 1 completes
});

$progress = $workflow->getProgressBag();
$progress->getPercentage()->getCompleted(); // 0.0 - 100.0
$progress->getStatus();                      // pending|running|success|failed
```

Dependencies
------------

[](#dependencies)

This library depends on [`ipedis/http-signature`](https://github.com/ipedis/http-signature) for signed HTTP recovery endpoints.

Compatibility
-------------

[](#compatibility)

PHPStatus8.2✅8.3✅8.4✅8.5✅**Required extensions:** `amqp`, `json`

Local Development
-----------------

[](#local-development)

Requires [Docker](https://www.docker.com/).

```
make up        # Start container
make install   # Install dependencies
make qa        # Run full QA suite (rector + pint + phpstan + tests)
```

Available targets:

CommandDescription`make up`Start container`make down`Stop container`make install`Install Composer dependencies`make update`Update Composer dependencies`make test`Run tests`make phpstan`Run static analysis (level max)`make pint`Fix code style (PSR-12)`make rector`Run automated refactoring`make qa`Run all checks`make shell`Open container shellDisclaimer
----------

[](#disclaimer)

This package is maintained by [Ipedis](https://www.ipedis.com). It is provided as-is under the terms of its license.

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance86

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity87

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 59.1% 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 ~52 days

Recently: every ~340 days

Total

43

Last Release

99d ago

Major Versions

1.2.15 → 2.0.02021-12-08

PHP version history (5 changes)1.0.0PHP &gt;7.2.0

1.2.10PHP &gt;=7.4

2.0.2PHP &gt;=8.0

2.0.3PHP &gt;=8.2

2.1.0PHP &gt;=8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/97cc863f90ac18a7a620893a0a9cbf099dab4f8e5f853e1fe5a28c64b6dec9cc?d=identicon)[yanis-git](/maintainers/yanis-git)

---

Top Contributors

[![nadhiir-ipedis](https://avatars.githubusercontent.com/u/48116583?v=4)](https://github.com/nadhiir-ipedis "nadhiir-ipedis (88 commits)")[![tejaskgosai](https://avatars.githubusercontent.com/u/126658306?v=4)](https://github.com/tejaskgosai "tejaskgosai (38 commits)")[![luqayyahj](https://avatars.githubusercontent.com/u/98180558?v=4)](https://github.com/luqayyahj "luqayyahj (14 commits)")[![MelchiorIpedis](https://avatars.githubusercontent.com/u/126576609?v=4)](https://github.com/MelchiorIpedis "MelchiorIpedis (4 commits)")[![yanis-git](https://avatars.githubusercontent.com/u/4113879?v=4)](https://github.com/yanis-git "yanis-git (3 commits)")[![mpaletou](https://avatars.githubusercontent.com/u/10277876?v=4)](https://github.com/mpaletou "mpaletou (2 commits)")

###  Code Quality

TestsPest

Static AnalysisRector

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/ipedis-rabbit-client/health.svg)

```
[![Health](https://phpackages.com/badges/ipedis-rabbit-client/health.svg)](https://phpackages.com/packages/ipedis-rabbit-client)
```

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k20](/packages/neuron-core-neuron-ai)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[concrete5/core

Concrete core subtree split

19159.3k48](/packages/concrete5-core)

PHPackages © 2026

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