Download the PHP package infoesportes/messaging-rabbitmq without Composer
On this page you can find all versions of the php package infoesportes/messaging-rabbitmq. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download infoesportes/messaging-rabbitmq
More information about infoesportes/messaging-rabbitmq
Files in infoesportes/messaging-rabbitmq
Package messaging-rabbitmq
Short Description Framework-agnostic messaging core for RabbitMQ with support for Email, SMS, and WhatsApp
License MIT
Informations about the package messaging-rabbitmq
Messaging Core
Framework-agnostic messaging core for RabbitMQ with support for Email, SMS, and WhatsApp.
Features
- ✅ Framework-agnostic (use with Laravel, CodeIgniter, Symfony, etc.)
- ✅ RabbitMQ with topic exchange
- ✅ Email, SMS, WhatsApp support
- ✅ Message validation
- ✅ Priority queues (1-10)
- ✅ Message publishing & consuming
- ✅ Automatic reconnection
- ✅ Manual & automatic acknowledgment
- ✅ Configurable prefetch count
- ✅ Full test coverage
- ✅ Type-safe with strict typing
- ✅ PSR-4 autoloading
Requirements
- PHP 7.4 or higher (7.4, 8.0, 8.1, 8.2, 8.3)
- ext-json
- RabbitMQ server
Installation
Quick Start
Publishing Messages
Consuming Messages
Manual Acknowledgment
Configuration Options
Publisher Configuration
| Option | Type | Default | Description |
|---|---|---|---|
host |
string | 127.0.0.1 |
RabbitMQ host |
port |
int | 5672 |
RabbitMQ port |
user |
string | guest |
Username |
password |
string | guest |
Password |
vhost |
string | / |
Virtual host |
exchange |
string | messages.topic |
Exchange name |
connection_timeout |
float | 3.0 |
Connection timeout (seconds) |
read_timeout |
float | 3.0 |
Read timeout (seconds) |
write_timeout |
float | 3.0 |
Write timeout (seconds) |
heartbeat |
int | 30 |
Heartbeat interval (seconds) |
keepalive |
bool | true |
Enable TCP keepalive |
Consumer Configuration
All publisher options plus:
| Option | Type | Default | Description |
|---|---|---|---|
prefetch_count |
int | 1 |
Number of messages to prefetch |
auto_ack |
bool | false |
Automatic message acknowledgment |
no_local |
bool | false |
Don't receive messages published by this connection |
exclusive |
bool | false |
Request exclusive consumer access |
no_wait |
bool | false |
Don't wait for server confirmation |
Message Priorities
Use the MessagePriority class for standardized priorities:
Routing Keys
The library uses topic exchanges with the following routing key patterns:
email.transactional- Transactional emails (receipts, confirmations)email.marketing- Marketing emailsemail.notification- Email notificationssms.notification- SMS notificationssms.verification- SMS verification codeswhatsapp.notification- WhatsApp notificationswhatsapp.marketing- WhatsApp marketing messages
Use # for wildcard routing, e.g., email.# matches all email types.
Testing
Framework Integration
Laravel
Create a service provider:
CodeIgniter 4
Add to app/Config/Services.php:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- Issues: GitHub Issues
- Source: GitHub Repository
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Credits
Developed and maintained by Info Esportes.
All versions of messaging-rabbitmq with dependencies
php-amqplib/php-amqplib Version ^3.5|^4.0
ext-json Version *