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.3.0(5mo ago)331.4k↓38.5%2[1 issues](https://github.com/FiveLab/Amqp/issues)1MITPHPPHP ^8.2CI passing

Since Aug 26Pushed 5mo ago1 watchersCompare

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

READMEChangelogDependencies (13)Versions (27)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

51

—

FairBetter than 96% of packages

Maintenance64

Regular maintenance activity

Popularity32

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 90.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 ~76 days

Recently: every ~139 days

Total

26

Last Release

171d ago

Major Versions

v1.6.0 → v2.0.02023-05-26

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

v1.3.0PHP ^7.4 | ^8.0

v1.6.0PHP ^8.0

v2.0.0PHP ^8.2

### 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 (154 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.4k123.4M323](/packages/amphp-amp)[revolt/event-loop

Rock-solid event loop for concurrent PHP applications.

92343.6M138](/packages/revolt-event-loop)[icicleio/icicle

Icicle is a PHP library for writing asynchronous code using synchronous coding techniques.

1.1k150.9k14](/packages/icicleio-icicle)[recoil/recoil

Asynchronous coroutines for PHP 7.

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

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

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

Integrate Recoil with ReactPHP.

32274.4k12](/packages/recoil-react)

PHPackages © 2026

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