Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

109 Commits

Repository files navigation

Flora PHP client

Easily access Flora based APIs.

$client = new \Flora\Client('http://api.example.com/');
$response = $client->execute([
'resource' => 'foo',
'select' => 'id,name'
]);

Raw responses

Return PSR-7 response object (e.g. to handle binary data).

$client = new \Flora\Client('http://api.example.com/');
$response = $client->executeRaw([
'resource' => 'article',
'id' => 1337,
'action' => 'pdf',
]);

Asynchronous requests (using guzzlehttp/promises)

useGuzzleHttp\Promise;
$client = new \Flora\Client('http://api.example.com/');
try {
$fooPromise = $client->executeAsync([
'resource' => 'foo',
'select' => 'id,name'
]);
$barPromise = $client->executeAsync([
'resource' => 'bar',
'select' => 'id,name'
]);
[$fooResponse, $barResponse] = Promise\Utils::unwrap([$fooPromise, $barPromise]);
// process responses...
} catch (Throwable$e) {
echo$e->getMessage(), PHP_EOL;
}

Parallel requests

Simple interface for simultaneously executing multiple API requests. Basically hides complexity from example above.

$client = new \Flora\Client('http://api.example.com/');
try {
[$fooResponse, $barResponse] = $client->executeParallel([
['resource' => 'foo', 'select' => 'id,name'],
['resource' => 'bar', 'select' => 'id,name']
]);
// process responses...
} catch (Throwable$e) {
echo$e->getMessage(), PHP_EOL;
}

About

PHP client for Flora based APIs

Resources

Stars

3 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages