wagter/php-nefit-easy-client

此包的最新版本(dev-master)没有可用的许可信息。

一个用于与nefit-easy-server通信的PHP客户端包

dev-master 2019-04-09 16:36 UTC

This package is auto-updated.

Last update: 2024-09-10 02:48:38 UTC


README

这是一个为 robertklep/nefit-easy-http-server 编写的PHP客户端包,该服务器应在同一台机器上运行,或者在同一个网络中。

如果您尚未这样做,请继续按照说明安装robertklep/nefit-easy-http-server

依赖项

此包需要PHP 7.2或更高版本、php-curl和php-json的最小版本。当然,除了安装 robertklep/nefit-easy-http-server 之外,没有第三方依赖项。

安装

添加到您的项目中

$ composer require wagter/php-nefit-easy-client

基本用法

要从Nefit Easy服务器读取和写入Wagter\NefitEasyClient\State\State对象,您需要一个Wagter\NefitEasyClient\StateManager\StateMangerInterface实例。默认的StateMangerInterface实现是Wagter\NefitEasyClient\StateManager\StateManger

StateManager类有两个依赖项。

  1. 一个Wagter\NefitEasyClient\Client\HttpClient实例,用于从nefit-easy-http-server安装中加载数据。

  2. 一个Wagter\NefitEasyClient\Normalizer\Normalizer实例,用于规范化和解规范请求的对象。

示例

假设您想要将手动房间温度调整到19.5摄氏度

use Wagter\NefitEasyClient\StateManager\StateManager;
use Wagter\NefitEasyClient\Client\CurlClient;
use Wagter\NefitEasyClient\Normalizer\MinMaxValueTemperatureStateNormalizer;
use Wagter\NefitEasyClient\State\HeatingCircuits\Hc1\TemperatureRoomManual;

$stateManager = new StateManager(
    new CurlClient( 'http://127.0.0.1:3000' ), // the default HttpClient implementation
    new MinMaxValueTemperatureStateNormalizer() // the Normalizer object
);

$tempRoomMan = $stateManager->read( TemperatureRoomManual::class );
$tempRoomMan->setValue( 19.5 );
$stateManager->write( $tempRoomMan );

运行测试

按照以下步骤运行包含的测试

下载并安装包

$ git clone git@github.com:jrswgtr/php-nefit-easy-client.git
$ cd php-nefit-easy-client
$ composer install

启动PHP内置的Web服务器

$ php -S localhost:8000

运行测试

在浏览器中访问http://127.0.0.1:8000/test.php