承接 znk3r/mqlib 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

znk3r/mqlib

Composer 安装命令:

composer require znk3r/mqlib

包简介

AMQP abstraction library over php-amqplib for PHP (5.3+)

README 文档

README

MQlib is an AMQP abstraction library over php-amqplib for PHP (5.3+).

php-amqplib is a great library, but really painful to use because of it's bad interface. Every time I had to remember the meaning of each param from exchange_declare() or queue_declare(). This library tries to address that issue provinding an easier interface to quickly develop producers and consumers.

Installation

Via composer.json

"require": {
    "znk3r/mqlib": "dev-master"
}

Basic Usage

Producer

Basic producer

<?php

use znk3r\MQlib\Producer;
use znk3r\MQlib\Exchange\Fanout;
use znk3r\MQlib\Message\Json as JsonMessage;

$producer = new Producer;
$producer->getBroker()->setTimeout(2); // seconds

$exchange = new Fanout('my_exchange');
$message = new JsonMessage($data);

$producer->publish($message, $exchange);

Multi-Message

<?php

use znk3r\MQlib\Producer;
use znk3r\MQlib\Exchange\Fanout;
use znk3r\MQlib\Message\Text as TextMessage;

$producer = new Producer;
$producer->connect();
$producer->openChannel();

$producer->sendTo(new Fanout('my_exchange'));

foreach ($i = 0; $i < 100; $i++) {
    $producer->publish(new TextMessage($i));
}

$producer->closeChannel();
$producer->disconnect();

Consumer

Fanout Consumer

<?php

use znk3r\MQlib\Consumer;
use znk3r\MQlib\Queue\Queue;
use znk3r\MQlib\Exchange\Fanout;

$exchange = new Fanout('my_exchange');

$queue = new Queue('my_queue);
$queue->bindTo($exchange);

$consumer = new Consumer('consumer_name');
$consumer->listen($queue, function($msg) {
    echo $msg->getBody().PHP_EOL;
    $msg->acknowledged();
});

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0
  • 更新时间: 2015-06-08