phpinnacle / ridge
PHPinnacle 异步 AMQP 客户端
1.3.4
2024-04-22 09:04 UTC
Requires
- php: >=8.1
- amphp/amp: v2.6.*
- amphp/socket: v1.2.*
- evenement/evenement: v3.0.*
- phpinnacle/buffer: v1.2.*
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: 10.* || 11.*
- vimeo/psalm: 5.*
README
该库是 AMQP 0-9-1 协议的纯异步 PHP 实现。
代码主要基于 bunnyphp,但使用 amphp 进行异步操作。
安装
通过 Composer
$ composer require phpinnacle/ridge
基本用法
<?php use Amp\Loop; use PHPinnacle\Ridge\Channel; use PHPinnacle\Ridge\Client; use PHPinnacle\Ridge\Message; require __DIR__ . '/vendor/autoload.php'; Loop::run(function () { $client = Client::create('amqp://user:pass@localhost:5672'); yield $client->connect(); /** @var Channel $channel */ $channel = yield $client->channel(); yield $channel->queueDeclare('queue_name'); for ($i = 0; $i < 10; $i++) { yield $channel->publish("test_$i", '', 'queue_name'); } yield $channel->consume(function (Message $message, Channel $channel) { echo $message->content() . \PHP_EOL; yield $channel->ack($message); }, 'queue_name'); });
更多示例可以在 examples
目录中找到。
测试
$ composer tests
变更日志
请查看 CHANGELOG 了解最近的变化。
贡献
请查看 CONTRIBUTING 和 CONDUCT 了解详细信息。
安全性
如果您发现任何与安全性相关的问题,请通过 dev@phpinnacle.com 发送电子邮件,而不是使用问题跟踪器。
致谢
许可协议
MIT 许可协议 (MIT)。请参阅 许可文件 获取更多信息。