kain/simplify-amqp

此包已被放弃,不再维护。未建议替代包。

简化amqp操作库 php-amqplib / php-amqplib

2.1 2020-04-29 03:44 UTC

This package is auto-updated.

Last update: 2021-07-29 02:09:58 UTC


README

简化amqp操作库 php-amqplib / php-amqplib

Packagist Version Travis (.org) Coveralls github PHP from Packagist Packagist License

设置

composer require kain/simplify-amqp

使用

创建AMQP客户端

use Simplify\AMQP\AMQPClient;
use Simplify\AMQP\AMQPManager;

$client = new AMQPClient(
    'localhost',
    5672,
    'guest',
    'guest',
    '/',
    [
        'insist' => false,
        'login_method' => 'AMQPLAIN',
        'login_response' => null,
        'locale' => 'zh_CN',
        'connection_timeout' => 5.0,
        'read_write_timeout' => 5.0,
        'context' => null,
        'keepalive' => true,
        'heartbeat' => 3.0,
        'channel_rpc_timeout' => 5.0,
        'ssl_protocol' => null
    ]
);

$client->channel(function (AMQPManager $manager) {
    // operate...
});

创建交换机和队列,然后将它们绑定在一起

use Simplify\AMQP\AMQPClient;
use Simplify\AMQP\AMQPManager;
use Simplify\AMQP\Common\ExchangeCreateOption;
use Simplify\AMQP\Common\ExchangeType;
use Simplify\AMQP\Common\QueueCreateOption;

$client = new AMQPClient('localhost',5672,'guest','guest');

$client->channel(function (AMQPManager $manager) {
    $exchangeOption = new ExchangeCreateOption();
    $exchangeOption->setType(ExchangeType::DIRECT());    
    $exchangeOption->setDurable(true);
    $manager->exchange('myexchange')->create($exchangeOption);
    
    $queueOption = new QueueCreateOption();
    $queueOption->setDurable(true);
    $queueOption->setMaxLength(3000);
    $queueOption->setMaxLengthBytes(1024*64);
    $queue = $manager->queue('myqueue');
    $queue->create($queueOption);
    $queue->bind('myexchange','');
});

更多示例,请参阅单元测试