yangweijie/es-bunny
最新稳定版本:v0.7.0
Composer 安装命令:
composer require yangweijie/es-bunny
包简介
README 文档
README
ES-Bunny是一个适用于EasySwoole的AMQP/RabbitMQ客户端库,基于PHP实现,支持同步和异步(基于Swoole协程)两种使用方式。
特性
- 同步客户端:适用于简单的应用场景
- 异步客户端:基于Swoole协程,适用于需要高并发处理能力的场景
- 完全兼容AMQP 0-9-1协议
- 支持心跳检测,确保连接稳定性
- 易于使用的API,遵循AMQP类/方法命名约定
安装
composer require yangweijie/es-bunny
环境要求
- PHP >= 7.4
- Swoole扩展(可选,用于异步客户端)
- EasySwoole框架(可选,用于异步客户端)
使用方法
同步客户端
use Yangweijie\EsBunny\SynchronousClient; $client = new SynchronousClient([ 'host' => '127.0.0.1', 'port' => 5672, 'vhost' => '/', 'user' => 'guest', 'password' => 'guest', ]); try { $client->connect(); $channel = $client->channel(); $channel->queueDeclare('test-queue', false, true, false, false); // 发布消息 $channel->publish('Hello World!', [], '', 'test-queue'); // 消费消息 $message = $channel->get('test-queue'); if ($message) { echo "Received: " . $message->content . "\n"; $channel->ack($message); } $client->disconnect(); } catch (\Exception $e) { echo "Error: " . $e->getMessage() . "\n"; }
异步客户端(基于Swoole协程)
use Yangweijie\EsBunny\EasySwooleClient; $client = new EasySwooleClient([ 'host' => '127.0.0.1', 'port' => 5672, 'vhost' => '/', 'user' => 'guest', 'password' => 'guest', ]); try { $client->connect(); $channel = $client->channel(); $channel->queueDeclare('test-queue', false, true, false, false); // 发布消息 $channel->publish('Hello World!', [], '', 'test-queue'); // 消费消息 $message = $channel->get('test-queue'); if ($message) { echo "Received: " . $message->content . "\n"; $channel->ack($message); } $client->disconnect(); } catch (\Exception $e) { echo "Error: " . $e->getMessage() . "\n"; }
运行示例
php example/basic.php
测试
phpunit
许可证
MIT
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-11