kwk / geckoboard-dataset-api
提供 Geckoboard DataSet API 客户端的库
0.2.2
2018-11-07 14:58 UTC
Requires
- php: ^7.1
- guzzlehttp/guzzle: ^5.3.2
Requires (Dev)
- ext-curl: *
- phpunit/phpunit: ^7.4
This package is not auto-updated.
Last update: 2024-09-23 07:04:03 UTC
README
该库通过 REST 请求提供 Geckoboard DataSet API 的客户端
分支
如何使用
数据集定义 + 数据行
创建数据集定义
<?php namespace Preview; use Kwk\Geckoboard\Dataset\DatasetBuilder; use Kwk\Geckoboard\Dataset\DataSetInterface; use Kwk\Geckoboard\Dataset\Type\DateType; use Kwk\Geckoboard\Dataset\Type\NumberType; class TestDataset implements DataSetInterface { /** * {@inheritDoc} */ public function getName() { return 'test'; } /** * {@inheritDoc} */ public function getDefinition() { return (new DatasetBuilder()) ->addField('date_field_id', new DateType('Date')) ->addField('number_field_id', new NumberType('Number')) ->build(); } }
创建 DataRowInterface 的实现
<?php namespace Preview; use Kwk\Geckoboard\Dataset\DataSetRowInterface; class TestDatarow implements DataSetRowInterface { /** * {@inheritDoc} */ public function getData() { return [ 'date_field_id' => '2016-12-31', 'number_field_id' => 1021, ]; } }
客户端使用
创建客户端
$httpClient = new \Guzzle\Http\Client('https://api.geckoboard.com'); $client = new \Kwk\Geckoboard\Dataset\Client($httpClient, 'YOUR_API_KEY');
在 Geckoboard 中创建数据集
$client->create(new \Preview\TestDataset());
追加行
使用类
<?php namespace Preview\Dataset; use Kwk\Geckoboard\Dataset\DataSetRowInterface; class TestDatarow implements DataSetRowInterface { /** * {@inheritDoc} */ public function getData() { return [ 'param1' => 'val1', 'param2' => 'val2', ]; } }
追加操作仅一行代码
$client->append(new \Preview\TestDataset(), [new \Preview\TestDatarow()]);