usystems / webling-api-php
Lightweight Webling API Wrapper
Installs: 194 220
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 6
Forks: 0
Open Issues: 0
Requires
- php: >=5.6.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- phpunit/phpunit: >=4.8 <10.0
README
A Lightweight PHP Wrapper to query the Webling API.
Installation
Install with Composer:
composer require usystems/webling-api-php
Usage
Simple usage
$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');
Create a new client with some options:
$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);
For more examples see the "examples" folder.
Caching Data
If you are doing lots of GET requests, you may want to use a cache. The Cache Class in combination with the FileCacheAdapter lets you cache Webling API requests on the filesystem. It does check which objects have changed and only fetches the changed objects.
This is how you use the Cache:
// 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();
Requirements
To use this library you need at least:
- PHP >=5.6
- PHP cURL Extension
- PHP JSON Extension
- A Webling Account with API enabled
API Documentation
You can find the Full Documentation of the Webling REST-API at demo.webling.ch/api
Changelog
v1.3.1
- Fixed a bug that prevented response caching from working properly
v1.3.0
Support for binary files caching has been added.
- The interface
ICache
now has a new functiongetObjectBinary()
. - The
FileCacheAdapter
andIFileCacheAdapter
has been updated to support the new functions. - Starting this release, only PHP >= 5.6 is tested and supported
v1.2.0
The Webling\Cache\FileCache
has been marked as deprecated and will be removed in the future. Use the more generic Webling\Cache\Cache
with the Webling\CacheAdapters\FileCacheAdapter
instead.