ejtj3 / php-nats

此软件包的最新版本(v0.2.0)没有可用的许可证信息。

Nats 客户端

v0.2.0 2023-07-27 12:12 UTC

README

这是一个简单的软件包,用于向 Nats 发送消息

安装

您可以使用 Composer 软件包管理器安装此软件包。您可以在项目根目录中运行以下命令进行安装

composer require ejtj3/php-nats

设置 nats 连接

<?php

declare(strict_types=1);

use EJTJ3\PhpNats\Connection\NatsConnectionOption;
use EJTJ3\PhpNats\Connection\NatsConnection;

$connectionOptions = new NatsConnectionOption('nats://nats-server.com:4222');
$connection = new NatsConnection($connectionOptions);

// connect to nats-server
$connection->connect();
// send ping and wait for the 'PONG' response
$connection->validatePing();
// close connection
$connection->close();

设置带有身份验证的 nats 连接

<?php

declare(strict_types=1);

use EJTJ3\PhpNats\Connection\NatsConnectionOption;

$connectionOptions = new NatsConnectionOption('nats://admin:admin@nats-server.com:4222');

设置带有 TLS 的 nats 连接

<?php

declare(strict_types=1);

use EJTJ3\PhpNats\Connection\NatsConnectionOption;

$connectionOptions = new NatsConnectionOption('tls://admin:admin@nats-server.com:4222');

发布消息

<?php

declare(strict_types=1);

// connect to nats-server
$connection->connect();

$subject = 'hello';
$payload = 'world';

// publish world to the hello subject
$connection->publish($subject, $payload);

// close connection
$connection->close();

连接到集群

<?php

declare(strict_types=1);

use EJTJ3\PhpNats\Connection\NatsConnectionOption;
use EJTJ3\PhpNats\Connection\NatsConnection;

$connectionOptions = new NatsConnectionOption('nats://admin:admin@nats-server0.com:4222,nats://admin:admin@nats-server1.com:4222,nats://admin:admin@nats-server2.com:4222');

____________________OR________________________

$connectionOptions = new NatsConnectionOption([
    'nats://admin:admin@nats-server0.com:4222',
    'nats://admin:admin@nats-server1.com:4222',
    'nats://admin:admin@nats-server2.com:4222',
]);

$connection = new NatsConnection($connectionOptions);