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

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

byjg/message-queue-client
=========================

A minimal PHP foundation for building message queue drivers. Features low-code publishing and consumption, decoupled components (Messages, Queues, and Connectors), and easy connector implementation.

6.0.0(5mo ago)29.2k↓40.9%1[1 issues](https://github.com/byjg/php-message-queue-client/issues)2MITPHPPHP &gt;=8.3 &lt;8.6CI passing

Since Jan 4Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/byjg/php-message-queue-client)[ Packagist](https://packagist.org/packages/byjg/message-queue-client)[ GitHub Sponsors](https://github.com/byjg)[ RSS](/packages/byjg-message-queue-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (4)Versions (9)Used By (2)

   sidebar\_key message-queue-client   tags    php

 queue

    Message Queue Client
====================

[](#message-queue-client)

A minimal PHP foundation for building message queue drivers. Features low-code publishing and consumption, decoupled components (Messages, Queues, and Connectors), and easy connector implementation.

[![Sponsor](https://camo.githubusercontent.com/fab14b7f7f475072ada0473f193d6f322561fd4a2958e0cc89910d053347cf27/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53706f6e736f722d2532336561346161613f6c6f676f3d67697468756273706f6e736f7273266c6f676f436f6c6f723d7768697465266c6162656c436f6c6f723d306431313137)](https://github.com/sponsors/byjg)[![Build Status](https://github.com/byjg/php-message-queue-client/actions/workflows/phpunit.yml/badge.svg?branch=main)](https://github.com/byjg/php-message-queue-client/actions/workflows/phpunit.yml)[![Opensource ByJG](https://camo.githubusercontent.com/425c1bbccc0f292bf4d20569ae74a6b2e384fd648f1af8911bc61de9a8dcfc0b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6f70656e736f757263652d62796a672d737563636573732e737667)](http://opensource.byjg.com)[![GitHub source](https://camo.githubusercontent.com/88e61eb211719144efdd570290a0456b6e13099c2df8d973f1bb43fe33bf0039/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769746875622d736f757263652d696e666f726d6174696f6e616c3f6c6f676f3d676974687562)](https://github.com/byjg/php-message-queue-client/)[![GitHub license](https://camo.githubusercontent.com/5f9be1735542c9c7d2c19c7a45cd5fd6a08d531e76298f53e863734c9024fe34/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f62796a672f7068702d6d6573736167652d71756575652d636c69656e742e737667)](https://opensource.byjg.com/opensource/licensing.html)[![GitHub release](https://camo.githubusercontent.com/9402dd434ed43a4323ab7937dbfa07739c1b123ac25b693c31fbf3dd1ba725eb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f62796a672f7068702d6d6573736167652d71756575652d636c69656e742e737667)](https://github.com/byjg/php-message-queue-client/releases/)

Features
--------

[](#features)

- Low code to publish and consume messages
- Messages, Queues and Connector objects are decoupled
- Easy to implement new connectors

```
┌─────────────────┐                  ┌────────────────────────┐
│                 │                  │  Envelope              │
│                 │                  │                        │
│                 │                  │                        │
│                 │                  │   ┌─────────────────┐  │
│                 │   publish()      │   │      Pipe       │  │
│                 ├─────────────────▶│   └─────────────────┘  │
│                 │                  │   ┌─────────────────┐  │
│                 │                  │   │     Message     │  │
│                 │                  │   └─────────────────┘  │
│                 │                  │                        │
│                 │                  └────────────────────────┘
│    Connector    │
│                 │
│                 │
│                 │       consume()     ┌─────────────────┐
│                 │◀────────────────────│      Pipe       │
│                 │                     └─────────────────┘
│                 │
│                 │
│                 │
└─────────────────┘

```

Code Structure
--------------

[](#code-structure)

ComponentDescriptionLocationMessageRepresents a message payload with properties`\ByJG\MessageQueueClient\Message`PipeAbstraction representing a queue or topic destination with optional properties`\ByJG\MessageQueueClient\Connector\Pipe`EnvelopeCombines a Message with its destination Pipe`\ByJG\MessageQueueClient\Envelope`ConnectorInterfaceInterface for message queue implementations`\ByJG\MessageQueueClient\Connector\ConnectorInterface`ConnectorFactoryFactory for creating connector instances`\ByJG\MessageQueueClient\Connector\ConnectorFactory`ConsumerClientTraitHelper for implementing consumer clients`\ByJG\MessageQueueClient\ConsumerClientTrait`ConsumerClientInterfaceInterface for consumer client implementations`\ByJG\MessageQueueClient\ConsumerClientInterface`Implemented Connectors
----------------------

[](#implemented-connectors)

ConnectorURL / DocumentationComposer PackageMock[docs/mock-connector.md](docs/mock-connector.md)-RabbitMQbyjg/rabbitmq-clientRedisbyjg/redis-queue-clientUsage
-----

[](#usage)

### Publish

[](#publish)

```
