backblaze-b2-php
is a client library for working with the B2 cloud storage service from Backblaze.
Full documentation of the Backblaze B2 API can be found here.
Complete documentation for this library does not exist yet, however most methods are already documented in the source code.
Installation is via Composer:
$ composer require zaxbux/backblaze-b2-php
<?php
use Zaxbux\BackblazeB2\Client;
$accountId = '...';
$applicationKey = '...';
$client = new Client([$accountId, $applicationKey]);
// Retrieve an array of Bucket objects on your account.
$buckets = $client->listBuckets();
If you want to cache the authorization token to reduce the number of API calls, create a class that implements Zaxbux\BackblazeB2\Interfaces\AuthorizationCacheInterface
.
<?php
use Zaxbux\BackblazeB2\Client;
$authCache = new AuthorizationCacheExample;
$client = new Client(new Config($accountId, $applicationKey, [
'authorizationCache' => $authCache,
]));
<?php
use Zaxbux\BackblazeB2\Interfaces\AuthorizationCacheInterface;
class AuthorizationCacheExample implements AuthorizationCacheInterface {
public function cache($key, $value) {
$myCache->remember($key, $value, AuthorizationCacheInterface::EXPIRES)
}
public function get($key) {
$myCache->get($key);
}
}
The AuthorizationCacheInterface::EXPIRES
constant is how long the authorization token is valid for, in seconds. Currently, this is equivalent to 24 hours. Requests made after the token expires will result in an ExpiredAuthTokenException
exception being thrown. You will need to get a new authorization token with authorizeAccount()
.
Tests are run with PHPUnit. After installing PHPUnit via Composer:
$ vendor/bin/phpunit
Feel free to contribute in any way by reporting an issue, making a suggestion, or submitting a pull request.