denpa / laravel-zeromq

Laravel 的 ZeroMQ 驱动程序

v1.0.3 2019-09-17 01:55 UTC

This package is auto-updated.

Last update: 2024-09-06 07:09:20 UTC


README

Latest Stable Version License Build Status Code Climate Code Coverage

关于

基于 react/zmq 的完全单元测试的 Laravel ZeroMQ 驱动程序。

安装

  1. 安装包
composer require denpa/laravel-zeromq "^1.0"
  1. (如果使用 Laravel 5.5 或更高版本,请跳过) 将服务提供者和外观添加到 ./config/app.php
'providers' => [
    ...
    Denpa\ZeroMQ\Providers\ServiceProvider::class,
];
'aliases' => [
    ...
    'ZeroMQ' => Denpa\ZeroMQ\Facades\ZeroMQ::class,
];
  1. 在项目目录中发布配置文件 php artisan vendor:publish --provider="Denpa\ZeroMQ\Providers\ServiceProvider"

要求

  • PHP 7.1 或更高版本
  • ZMQ PHP 扩展
  • Laravel 5.3 或更高版本

使用方法

发布

zeromq()->publish(['foo', 'bar'], 'hello');
zeromq()->connection('test')->publish(['foo', 'bar'], 'hello');

拉取

zeromq()->pull(function ($message) {
    echo $message;
});

推送

zeromq()->push('hello');

订阅

zeromq()->subscribe(['foo', 'bar'], function ($message) {
    echo $message;
});

外观

use Denpa\ZeroMQ\Facades\ZeroMQ;

$callback = function ($message) {
    echo $message;
};

// use default connection
ZeroMQ::publish(['foo', 'bar'], 'hello');
ZeroMQ::pull($callback);
ZeroMQ::push('hello');
ZeroMQ::subscribe(['foo', 'bar'], $callback);

// use different connection
ZeroMQ::connection('baz')->push('hello');

广播

在环境文件中设置 BROADCAST_DRIVER=zeromq 并将以下行添加到 config/broadcasting.php 中的 'connections' 键。

'zeromq' => [
    'driver' => 'zeromq',
],

现在可以使用 Laravel 的 broadcast($event); 辅助函数通过 ZeroMQ 广播事件。

关于更多信息,请访问 laravel-bitcoinrpc 文档

Bitcoin Core (laravel-bitcoinrpc)

laravel-bitcoinrpc 将此包集成到订阅由 Bitcoin Core (和某些分支) 广播的主题。

bitcoind()->on('hashblock', function ($blockhash, $sequence) {
    // get hash of new best block and retrieve full block info
    $block = bitcoind()->getBlock($blockhash);
    print_r($block->get());
});

有关更多信息,请访问 laravel-bitcoinrpc 文档

许可

本产品根据 MIT 许可证 发行。