mucts / laravel-amqp
Laravel 8 的 AMQPMessage SDK
9.1.0
2022-02-16 08:27 UTC
Requires
- php: ^8.1
- ext-json: ^8.1
- ext-mbstring: ^8.1
- ext-sockets: ^8.1
- laravel/framework: ^9.1
- php-amqplib/php-amqplib: ^3.1
README
Laravel AMQP
Laravel 8 的 AMQPMessage SDK
安装
服务器要求
请确保您的服务器满足以下要求
php ^8.0JSON PHP 扩展套接字 PHP 扩展MBString PHP 扩展php-amqplib/php-amqplib 3.0laravel/framework ^8.41
Laravel 安装
composer require mucts/laravel-amqp
用法
- AMQPMessage 发布者
<?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 消费者
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); } }
配置
如果 config/amqp.php 文件不存在,请运行以下命令
php artisan vendor:publish