cxalloy / haystack-php
Haystack-php 是一个PHP库,旨在通过REST API无缝与Skyspark服务器通信,利用Project Haystack规范在建筑智能系统中管理物联网时间序列数据。
v0.1.2
2024-07-31 14:18 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Haystack-PHP 是一个PHP库,旨在通过REST API与Skyspark服务器进行通信,遵循Project Haystack规范。此库利用PHP 8.2和GuzzleHTTP包进行高效的HTTP请求,专注于建筑智能系统的物联网时间序列数据的集成和操作。
概述
此库提供了编码和解码Zinc和JSON编码字符串的功能,可以从这些字符串在PHP中创建库特定对象。这种设置确保了代码库的健壮和可扩展性,易于集成与Skyspark或其他兼容haystack服务器的第三方软件系统。此库已缩减为仅在PHP中实现Project Haystack规范。此库支持所有自定义haystack数据类型,包括过滤和完整的haystack规范(defs,标记,分类法和本体)。
使用的技术
- PHP 8.2:项目的核心脚本语言。
- Composer:PHP的依赖关系管理器,用于管理外部包。
- guzzlehttp/guzzle:用于进行HTTP请求和与Web服务集成的PHP HTTP客户端。
项目结构
src/
:包含haystack-php对象的主要类、错误处理、JSON/Zinc读取和写入的源代码。tests/
:包括用于测试类功能的单元测试。docs/
:关于编码算法和Zinc格式的文档。composer.json
:管理项目依赖项。
功能
- REST API通信:通过REST API向Skyspark服务器发送请求并接收响应。
- 数据编码和解码:支持将此库提供的自定义数据对象编码为Zinc和JSON格式的字符串,以通过API进行传输。还支持将Zinc和JSON格式的字符串解码回PHP Haystack HGrid对象,这些对象支持所有Haystack自定义数据类型。这是对Project Haystack数据类型的PHP实现,遵循Project Haystack规范。
- 可扩展设计:库设计为易于扩展和与其他系统或应用程序集成,这些系统或应用程序需要与Skyspark服务器通信或具有兼容Project Haystack的API。
- 错误处理:实现了强大的错误处理机制,用于处理请求失败和数据编码/解码问题。
入门指南
要求
- PHP 8.2或更高版本
- 用于管理PHP依赖项的Composer
快速入门
- 安装依赖项:运行
composer require cxalloy/haystack-php
安装所需的包,包括GuzzleHTTP。 - 使用:使用以下类之一:
HJsonWriter
、HJsonReader
、HZincReader
和HZincWriter
来消费编码字符串或创建表示Haystack-php HGrid对象的编码字符串以发送到您的Skyspark服务器。此HGrid对象可以包含所有其他haystack-php对象,包括嵌套HGrids、HLists和HDicts。
许可证
版权(c)2024。
此项目为专有项目,非开源。