superbalist/php-pubsub
最新稳定版本:2.0.0
Composer 安装命令:
composer require superbalist/php-pubsub
包简介
An adapter based PubSub package for PHP
README 文档
README
A PHP abstraction for the pub-sub pattern
Installation
composer require superbalist/php-pubsub
Adapters
- Local (bundled)
- /dev/null (bundled)
- Redis - https://github.com/Superbalist/php-pubsub-redis
- Kafka - https://github.com/Superbalist/php-pubsub-kafka
- Google Cloud - https://github.com/Superbalist/php-pubsub-google-cloud
- HTTP - https://github.com/Superbalist/php-pubsub-http
Integrations
Want to get started quickly? Check out some of these integrations:
Usage
$adapter = new \Superbalist\PubSub\Adapters\LocalPubSubAdapter(); // consume messages $adapter->subscribe('my_channel', function ($message) { var_dump($message); }); // publish messages $adapter->publish('my_channel', 'Hello World!'); // publish multiple messages $messages = [ 'message 1', 'message 2', ]; $adapter->publishBatch('my_channel', $messages);
Writing an Adapter
You can easily write your own custom adapter by implementing the PubSubAdapterInterface interface.
Your adapter must implement the following methods:
/** * Subscribe a handler to a channel. * * @param string $channel * @param callable $handler */ public function subscribe($channel, callable $handler); /** * Publish a message to a channel. * * @param string $channel * @param mixed $message */ public function publish($channel, $message); /** * Publish multiple messages to a channel. * * @param string $channel * @param array $messages */ public function publishBatch($channel, array $messages);
Examples
The library comes with examples for all adapters and a Dockerfile for running the example scripts.
Run make up.
You will start at a bash prompt in the /opt/php-pubsub directory.
If you need another shell to publish a message to a blocking consumer, you can run docker-compose run php-pubsub /bin/bash
To run the examples:
$ php examples/LocalExample.php
统计信息
- 总下载量: 570.42k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 45
- 点击次数: 1
- 依赖项目数: 21
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-09-02