phpinnacle/ridge

PHPinnacle 异步 AMQP 客户端

1.3.4 2024-04-22 09:04 UTC

This package is auto-updated.

Last update: 2024-09-22 10:13:21 UTC


README

Latest Version on Packagist Software License Continuous Integration Shepherd Total Downloads

该库是 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 了解最近的变化。

贡献

请查看 CONTRIBUTINGCONDUCT 了解详细信息。

安全性

如果您发现任何与安全性相关的问题,请通过 dev@phpinnacle.com 发送电子邮件,而不是使用问题跟踪器。

致谢

许可协议

MIT 许可协议 (MIT)。请参阅 许可文件 获取更多信息。