Skip to content

根据PHP-AMQPLIB插件二次开发,基于Laravel 8.0框架的RabbitMQ插件。

Notifications You must be signed in to change notification settings

mucts/laravel-amqp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Code Intelligence Status Scrutinizer Code Quality Total Downloads Latest Stable Version License

Laravel AMQP

AMQPMessage SDK for Laravel 8

Installation

Server Requirements

you will need to make sure your server meets the following requirements:

  • php ^8.0
  • JSON PHP Extension
  • Sockets PHP Extension
  • MBString PHP Extension
  • php-amqplib/php-amqplib 3.0
  • laravel/framework ^8.41

Laravel Installation

composer require mucts/laravel-amqp

Usage

  • AMQPMessage publisher
<?php
use MuCTS\Laravel\AMQP\Facades\AMQP;
use PhpAmqpLib\Exchange\AMQPExchangeType;

// send message
AMQP::connection('default')
->setExchange('test')
->setExchangeType(AMQPExchangeType::TOPIC)
->setQueue('test')
->publish('test');
  • AMQPMessage consumer
use MuCTS\Laravel\AMQP\Commands\AMQPCommand;
use PhpAmqpLib\Message\AMQPMessage;
use Illuminate\Support\Facades\Log;
use PhpAmqpLib\Exchange\AMQPExchangeType;

class test extends AMQPCommand{
    protected string $exchange = 'test';
    protected string $queue = 'test';
    protected string $exchangeType = AMQPExchangeType::TOPIC;
    protected string $consumerTag = 'consumer';
    protected ?string $connectionName = 'default';
    protected bool $autoAsk = false;

    protected function processMessage(AMQPMessage $message){
        Log::info($message->getBody());
        // message ask
        $message->ack();
        // message nack
        $message->nack(true);
    }
}

Configuration

If config/amqp.php not exist, run below:

php artisan vendor:publish

About

根据PHP-AMQPLIB插件二次开发,基于Laravel 8.0框架的RabbitMQ插件。

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages