PHPackages                             fivelab/amqp - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. fivelab/amqp

ActiveLibrary[Queues &amp; Workers](/categories/queues)

fivelab/amqp
============

The library for publish/receive messages from broker (RabbitMQ).

v2.4.1(1mo ago)333.1k↓45.1%2[1 issues](https://github.com/FiveLab/Amqp/issues)1MITPHPPHP ^8.4CI passing

Since Aug 26Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/FiveLab/Amqp)[ Packagist](https://packagist.org/packages/fivelab/amqp)[ RSS](/packages/fivelab-amqp/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (39)Versions (30)Used By (1)

Russia has become a terrorist state.
------------------------------------

[](#russia-has-become-a-terrorist-state)

  #StandWithUkraine

Event Broker: AMQP
==================

[](#event-broker-amqp)

[![Build Status](https://github.com/FiveLab/Amqp/workflows/Testing/badge.svg?branch=master)](https://github.com/FiveLab/Amqp/actions)

This library for receive events from RabbitMQ and publish messages to AMQP.

Why this?
---------

[](#why-this)

In many application we must use background processes for process any data or create/update/delete any entries. For this, we use [AMQP](https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol) and [RabbitMQ](https://en.wikipedia.org/wiki/RabbitMQ). But, in base implementation of AMQP ([PHP Extension](https://pecl.php.net/package/amqp) and [PHPAmqpLib](https://github.com/php-amqplib/php-amqplib)) we have some problems:

- We should connect to RabbitMQ before create the exchange or queue. But in our logic (in controller as an example) we don't need to send message rabbitmq.
- All options for declare exchanges or queues set as flags, and it can be difficult for understanding and typos.

We full isolate this processes in this library for easy send message to exchange and easy receive the messages from queues.

### Definitions

[](#definitions)

All entries of AMQP have a custom definition. Each definition have custom parameters for declare the exchange or queue.

### Factories

[](#factories)

All entries of AMQP have a factory. It allow to create the real instances only on usage process.

### Adapters

[](#adapters)

We create a library with able to support any adapters for connect to broker. Out-of-the-box supported drivers are:

- **`ext-amqp`**
- composer php-amqplib

Documentation
-------------

[](#documentation)

All documentation stored in [`/docs/`](docs) directory.

Development
-----------

[](#development)

For easy development you can use the `Docker`.

```
docker compose up
docker compose exec amqp bash
```

After success run and attach to container you must install vendors:

```
composer update
```

Before create the PR or merge into develop, please run next commands for validate code:

```
./bin/phpunit

./bin/phpcs --config-set show_warnings 0
./bin/phpcs --standard=vendor/escapestudios/symfony2-coding-standard/Symfony/ src/
./bin/phpcs --standard=tests/phpcs-ruleset.xml tests/
```

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance86

Actively maintained with recent releases

Popularity32

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 90.4% 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 ~77 days

Recently: every ~106 days

Total

28

Last Release

37d ago

Major Versions

v1.6.0 → v2.0.02023-05-26

PHP version history (5 changes)v1.0.0PHP ^7.1

v1.3.0PHP ^7.4 | ^8.0

v1.6.0PHP ^8.0

v2.0.0PHP ^8.2

v2.4.0PHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/626ec10367b16fd0c7f8279eec25caa64084d5bd9a01789e0645279988e9a185?d=identicon)[ZhukV](/maintainers/ZhukV)

---

Top Contributors

[![ZhukV](https://avatars.githubusercontent.com/u/2256109?v=4)](https://github.com/ZhukV "ZhukV (161 commits)")[![yuriy-naz](https://avatars.githubusercontent.com/u/61418120?v=4)](https://github.com/yuriy-naz "yuriy-naz (15 commits)")[![programmador](https://avatars.githubusercontent.com/u/674995?v=4)](https://github.com/programmador "programmador (2 commits)")

---

Tags

amqpbrokerevent-brokerrabbitmqeventpublisherreceiverbroker

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/fivelab-amqp/health.svg)

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

###  Alternatives

[amphp/amp

A non-blocking concurrency framework for PHP applications.

4.4k133.8M434](/packages/amphp-amp)[revolt/event-loop

Rock-solid event loop for concurrent PHP applications.

92553.8M226](/packages/revolt-event-loop)[recoil/recoil

Asynchronous coroutines for PHP 7.

79062.9k7](/packages/recoil-recoil)[jmikola/wildcard-event-dispatcher

Event dispatcher with support for wildcard patterns inspired by AMQP topic exchanges.

32326.9k2](/packages/jmikola-wildcard-event-dispatcher)[recoil/react

Integrate Recoil with ReactPHP.

32286.7k13](/packages/recoil-react)[jmikola/wildcard-event-dispatcher-bundle

Enhances the Symfony2 event dispatcher with support for wildcard patterns inspired by AMQP topic exchanges.

35138.8k1](/packages/jmikola-wildcard-event-dispatcher-bundle)

PHPackages © 2026

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