Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CloudObjects PHP SDK

Latest Stable Version Total Downloads Build Status SensioLabsInsight

The CloudObjects PHP SDK provides simple access to CloudObjects from PHP-based applications. It wraps the Object API to fetch objects from the CloudObjects Core database and provides object-based access to their RDF description. A two-tiered caching mechanism (in-memory and Doctrine cache drivers) is included. The SDK also contains a helper class to validate COIDs.


The SDK is distributed through packagist. Add cloudobjects/sdk to the require section of your composer.json, like this:

  "require": {
    "cloudobjects/sdk" : ">=0.7"

Retrieving Objects

In order to retrieve objects from the CloudObjects Core database you need to create an instance of CloudObjects\SDK\ObjectRetriever. Then you can call getObject(). This method returns an ML\JsonLD\Node instance or null if the object is not found. You can use the object interface of the JsonLD library to read the information from the object.

Here's a simple example:

use CloudObjects\SDK\ObjectRetriever;

/* ... */

$retriever = new ObjectRetriever();
$object = $this->retriever->getObject(new IRI('coid://'));
if (isset($object))
    echo $object->getProperty('')->getValue();
    echo "Object not found.";


You can pass an array of configuration options to the ObjectRetriever's constructor:

Option Description Default
cache_provider The type of cache used. Currently supports redis, file and none. none
cache_prefix A prefix used for cache IDs. Normally this should not be set but might be necessary on shared caches. clobj:
cache_ttl Determines how long objects can remain cached. 60
auth_ns The namespace of the service that this retriever acts for. If not set the API is accessed anonymously. null
auth_secret The shared secret between the namespace in auth_ns and for authenticated. If not set the API is accessed anonymously. null

For redis cache:

Option Description Default The hostname or IP of the Redis instance.
cache_provider.redis.port The port number of the Redis instance. 6379

For file cache:

Option Description Default The directory to store cache data in. The system's temporary directory.

API Documentation

A full API documentation of all SDK classes is generated automatically and published at

If you're curious, we've documented the documentation build process on our blog.


The PHP SDK is licensed under Mozilla Public License (see LICENSE file).