stefanak-michal / thingsdb-php
ThingsDB的PHP连接器
Requires
- php: ^8.2
- ext-mbstring: *
- ext-openssl: *
- rybakit/msgpack: ^0.9.1
Requires (Dev)
- phpunit/phpunit: ^11
This package is auto-updated.
Last update: 2024-08-24 13:01:51 UTC
README
PHP库,用于通过TCP套接字与ThingsDB通信。
✅ 要求
- ThingsDB v1
- PHP ^8.2
- rybakit/msgpack
- mbstring
- openssl - 仅在启用SSL连接时需要
💾 安装 - Composer
在您的项目中运行以下命令以安装包的最新适用版本
composer require stefanak-michal/thingsdb-php
🖥️ 使用
类 \ThingsDB\ThingsDB
提供与ThingsDB进行套接字连接的所有功能。它包含基于文档的方法集。每个方法都有包含所需信息和文档链接的注释(注解)。
可用方法
监听
监听是一种特定状态,您在此状态下等待来自ThingsDB的发射包。您可以在文档中了解更多信息。PHP有max_execution_time,不允许设置高于此值。max_execution_time=0时,当然可以无限期等待。
join
、emit
、leave
也会向执行它们的客户端发射包。因此,当使用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中发生错误时,使用此异常类。有关错误类型的列表。