usystems/webling-api-php

轻量级 Webling API 包装器

1.3.1 2024-08-27 11:47 UTC

This package is auto-updated.

Last update: 2024-09-27 12:17:01 UTC


README

Build

一个轻量级 PHP 包装器,用于查询 Webling API。

安装

使用 Composer 安装

composer require usystems/webling-api-php

用法

简单用法

$api = new Webling\API\Client('https://demo.webling.ch','MY_APIKEY');

$response = $api->get('member/123');

if ($response->getStatusCode() < 400) {
    var_dump($response->getData());    // returns the parsed JSON
    var_dump($response->getRawData()); // returns the raw response string
}

$response = $api->put('/member', $data);
$response = $api->post('/member', $data);
$response = $api->delete('/member/123');

创建带有一些选项的新客户端

$options = [
    'connecttimeout' => 5, // connection timeout in seconds
    'timeout' => 10, // transfer timeout
    'useragent' => 'My Custom User-Agent' // custom user agent
];
$api = new Webling\API\Client('https://demo.webling.ch','MY_APIKEY', $options);

更多示例请参阅 "examples" 文件夹。

数据缓存

如果您要进行大量的 GET 请求,您可能想使用缓存。通过结合使用 Cache 类和 FileCacheAdapter,您可以在文件系统上缓存 Webling API 请求。它会检查哪些对象已更改,并且只获取已更改的对象。

这是如何使用缓存的

// create a cache object
$client = new Webling\API\Client('https://demo.webling.ch','MY_APIKEY');
$adapter = new Webling\CacheAdapters\FileCacheAdapter([
    'directory' => './webling_cache'
]);
$cache = new Webling\Cache\Cache($client, $adapter);

// get single object
$member = $cache->getObject('member', 506);

// get binary data of object
$cache->getObjectBinary('member', 506, $member['properties']['Mitgliederbild']['href']);

// get multiple objects
$cache->getObjects('member', [506, 507, 508]);

// get object lists
$cache->getRoot('membergroup');

// check for updates and renew cache
$cache->updateCache();

// clear the whole cache
$cache->clearCache();

需求

要使用此库,您至少需要以下条件

  • PHP >=5.6
  • PHP cURL 扩展
  • PHP JSON 扩展
  • 一个已启用 API 的 Webling 账户

API 文档

您可以在 demo.webling.ch/api 找到 Webling REST-API 的完整文档

变更日志

v1.3.1
  • 修复了一个阻止响应缓存正常工作的错误
v1.3.0

添加了对二进制文件缓存的支持。

  • 接口 ICache 现在有一个新功能 getObjectBinary()
  • 更新了 FileCacheAdapterIFileCacheAdapter 以支持新功能。
  • 从本版本开始,仅测试和支持 PHP >= 5.6
v1.2.0

Webling\Cache\FileCache 标记为弃用,并将在未来删除。请改用更通用的 Webling\Cache\CacheWebling\CacheAdapters\FileCacheAdapter