stefanak-michal/thingsdb-php

ThingsDB的PHP连接器

v1.0.1 2024-06-24 12:42 UTC

This package is auto-updated.

Last update: 2024-08-24 13:01:51 UTC


README

PHP库,用于通过TCP套接字与ThingsDB通信。

ko-fi

✅ 要求

💾 安装 - Composer

在您的项目中运行以下命令以安装包的最新适用版本

composer require stefanak-michal/thingsdb-php

Packagist

🖥️ 使用

\ThingsDB\ThingsDB 提供与ThingsDB进行套接字连接的所有功能。它包含基于文档的方法集。每个方法都有包含所需信息和文档链接的注释(注解)。

可用方法

监听

监听是一种特定状态,您在此状态下等待来自ThingsDB的发射包。您可以在文档中了解更多信息。PHP有max_execution_time,不允许设置高于此值。max_execution_time=0时,当然可以无限期等待。

joinemitleave也会向执行它们的客户端发射包。因此,当使用listening调用第一次接收到的包是ON_JOIN|ON_LEAVE|ON_EMIT事件类型时,请不要感到惊讶。

示例

use ThingsDB\ThingsDB;

$thingsDB = new ThingsDB();
$result = $thingsDB->auth(); // returns true on success
$message = $thingsDB->query('@:stuff', '"Hello World!";'); // returns "Hello World!" 

🔒 SSL

要使用启用SSL的连接,您可以使用构造函数的第三个参数,即上下文。当创建连接时,此上下文由stream_context_create提供。verify_peer是启用SSL通信的最基本要求。

use ThingsDB\ThingsDB;
$thingsDB = new ThingsDB('localhost:9200', 15, [
    'socket' => ['tcp_nodelay' => true],
    'ssl' => ['verify_peer' => true]
]);

⏱️ 超时

类构造函数包含$timeout参数。此超时用于已建立的套接字连接。要设置建立套接字连接本身的超时,您必须设置ini指令default_socket_timeout

设置ini指令不是连接类的一部分,因为出于安全原因,在某些生产环境中可能会禁用ini_set函数。

错误

\ThingsDB\error\ConnectException

此异常类用于与客户端连接相关的任何异常。

\ThingsDB\error\PackageException

当在ThingsDB中发生错误时,使用此异常类。有关错误类型的列表