skolodyazhnyy/rabbitmq 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

skolodyazhnyy/rabbitmq

最新稳定版本:1.0.4

Composer 安装命令:

composer require skolodyazhnyy/rabbitmq

包简介

RabbitMQ library

README 文档

README

This library provides lightweight wrapping classes to build RabbitMQ services. It's based on videlalvaro/php-amqplib AMQP client.

Standalone Usage

use Seven\RabbitMQ\Connection;
use Seven\RabbitMQ\Manager;
use Seven\RabbitMQ\Exchange;
use Seven\RabbitMQ\Queue;

// Intialize AMQP connection
$connection = new Connection($host, $port, $user, $password, $vhost);
$channel = $connection->channel();

// Create a manager
$manager = new Manager($channel);

// Register exchange, queue and create a binding
$manager->addExchange(Exchange::configure($channel, 'my_exchange'));
$manager->addQueue(Queue::configure($channel, 'my_queue'));
$manager->bind('my_exchange', 'my_queue');

// Publish a message to queue
$manager->getQueue('my_queue')->publish('..payload..', 'routing.key', array(...));

// Consume messages
$manager->getExchange('my_exchange')->consume(function(\AMQPMessage $message) {
    echo $message->body . PHP_EOL;

    return true;
});

Pimple Usage

use Pimple\Container;

$container = new Container();

// Setup connection
$container['rabbitmq'] = array(
    'host'     => 'localhost',
    'port'     => 5672,
    'user'     => 'guest',
    'password' => 'guest',
    'vhost'    => '/',
    'exchanges' => array(
        'my_exchange' => null,
    ),
    'queues' => array(
        'my_queue' => null,
    ),
    'bindings' => array(
        array('exchange' => 'my_exchange', 'queue' => 'my_queue')
    )
);

// Register services
$container->register(new \Seven\RabbitMQ\Provider\Pimple\RabbitMqProvider());

// Publish a message to queue
$container['rabbitmq.manager']->getQueue('my_queue')->publish('..payload..', 'routing.key', array(...));

// Consume messages
$container['rabbitmq.manager']->getExchange('my_exchange')->consume(function(\AMQPMessage $message) {
    echo $message->body . PHP_EOL;

    return true;
});

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-04-13