terentev-space / kithook-php-kafka
KitHook 的 Kafka PHP 客户端
0.1.2
2021-05-21 06:45 UTC
Requires
- php: >=7.1
- enqueue/rdkafka: ^0.9.15
- psr/log: ^1.1
- terentev-space/kithook-php: ^0.1.2
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-09-21 14:03:40 UTC
README
🚧 注意:该项目目前正在开发中! 🚧
注意:在使用之前,您需要部署和配置 KitHook
该项目是 kithook-php 的扩展,允许您使用 Kafka 队列管理器向 KitHook 发送消息
安装
通过 Composer
$ composer require terentev-space/kithook-php-kafka
用法
数据
$yourWebhookUri = 'https://example.com'; $yourWebhookId = 'myId-123'; $yourElseContentType = 'application/xml'; // Json $yourWebhookJsonData = [ 'anything' ]; // Form $yourWebhookFormData = [ 'param1' => 'value1', ]; // Query $yourWebhookQueryData = [ 'param1' => 'value1', ]; // Xml $yourWebhookXmlData = <<<XML <?xml version="1.0" encoding="UTF-8"?> <example> <!-- ... --> </example> XML; $yourClientConfig = [ \KitHookKafka\Client::CONFIG_KAFKA_BROKER_LIST => 'localhost:9092', \KitHookKafka\Client::CONFIG_KAFKA_GROUP => 'default', \KitHookKafka\Client::CONFIG_KAFKA_TOPIC => 'kithook', ];
示例
$client = isset($yourClientConfig) ? new \KitHookKafka\Client($yourClientConfig) : // Use config new \KitHookKafka\Client(); // Use env // Simple HTTP Put Json $client->sendHttpPutJson($yourWebhookUri, $yourWebhookJsonData, $yourWebhookId); // Simple HTTP Post Form $client->sendHttpPostForm($yourWebhookUri, $yourWebhookFormData, $yourWebhookId); // Simple HTTP Get Query $client->sendHttpGetEmpty($yourWebhookUri . '?' . http_build_query($yourWebhookQueryData), $yourWebhookId); // Build $content = $client->contentBuilder()->makeHttp() // OR ->withType(\KitHook\Entities\Messages\Contents\QueueHttpMessageContent::TYPE_ELSE) ->withData($yourWebhookXmlData) ->withFormatForElseType($yourElseContentType) // OR ->fillElse($yourWebhookXmlData, $yourElseContentType) // FINALLY ->build(); $message = $client->messageBuilder()->makeHttp() // OR ->withId($yourWebhookId) ->withUri($yourWebhookUri) ->withMethod(\KitHook\Entities\Messages\QueueHttpMessage::METHOD_POST) ->withContent($content) // OR ->fillPost($yourWebhookUri, $yourWebhookId, $content, [/* headers */], [/* properties */]) // OR ->fillPost($yourWebhookUri, $yourWebhookId) ->makeContent() ->fillForm($yourWebhookFormData) ->buildFromMessage() // FINALLY ->build(); $client->send($message);
致谢
许可
Apache 2.0 许可证(Apache-2.0)。有关更多信息,请参阅 许可证文件