Download the PHP package phpdot/rabbitmq without Composer
On this page you can find all versions of the php package phpdot/rabbitmq. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package rabbitmq
phpdot/rabbitmq
A RabbitMQ client for PHP built on php-amqplib: declarative topology (exchanges, queues, bindings), fluent publish and consume, built-in retry with dead-lettering, message replay, a set of Symfony Console commands for operating queues, and a connector so phpdot/pool can hold and recycle connections.
Table of Contents
- Requirements
- Installation
- Usage
- Architecture
- Testing
- License
Requirements
| Requirement | Constraint |
|---|---|
| PHP | >= 8.5 |
php-amqplib/php-amqplib |
^3.0 |
phpdot/contracts |
^0.1 |
psr/log |
^3.0 |
symfony/console |
^8.0 |
php-amqplib brings ext-sockets and ext-mbstring. phpdot/container is a dev-only suggestion — the
#[Config('rabbitmq')] attribute on RabbitMQConfig is inert until a phpdot application reflects it.
Installation
Usage
Publish and consume
Topology is declared once in the config; the connection ensures it before publishing or consuming:
Returning TaskStatus::SUCCESS acks the message, RETRY requeues it through the retry flow, and
FAILURE dead-letters it.
Retry and dead-lettering
A queue can declare a retry flow (delayed re-delivery) and a dead-letter target. Messages that exhaust their retries land on the dead-letter queue, where they can be inspected and replayed:
CLI commands
The package ships Symfony Console commands for operating queues — rabbitmq:status, rabbitmq:queues,
rabbitmq:topology:declare, rabbitmq:peek, rabbitmq:replay, and rabbitmq:dlq:analyze. Register
them in your console application.
Pooling
RabbitMQConnector adapts a RabbitMQConnection to phpdot/pool's ConnectorInterface, so a pool can
build, health-check, and recycle connections — one per coroutine.
Architecture
RabbitMQConnection owns a php-amqplib stream connection and channel, and drives topology declaration,
resilient reconnection, and lifecycle. Publisher, Consumer, TopologyManager, and Replayer build
on it; RabbitMQConnector bridges to phpdot/pool.
Testing
The unit suite runs with no broker. The integration suite connects to a RabbitMQ at localhost:5672
and skips automatically when none is reachable.
License
MIT.
This repository is a read-only mirror, generated by CI from phpdot/monorepo. Pull requests and issues belong in the monorepo.
All versions of rabbitmq with dependencies
php-amqplib/php-amqplib Version ^3.0
phpdot/contracts Version ^0.1
psr/log Version ^3.0
symfony/console Version ^8.0