1. Go to this page and download the library: Download php-riak/riak-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php-riak / riak-client example snippets
use Riak\Client\RiakClientBuilder;
$builder = new RiakClientBuilder();
$client = $builder
->withNodeUri('proto://192.168.1.1:8087')
->withNodeUri('proto://192.168.1.2:8087')
->withNodeUri('proto://192.168.1.3:8087')
->build();
use Riak\Client\Command\Kv\StoreValue;
use Riak\Client\Core\Query\RiakObject;
use Riak\Client\Core\Query\RiakLocation;
use Riak\Client\Core\Query\RiakNamespace;
$object = new RiakObject();
$namespace = new RiakNamespace('bucket_type', 'bucket_name');
$location = new RiakLocation($namespace, 'object_key');
$object->setValue('[1,1,1]');
$object->setContentType('application/json');
// store object
$store = StoreValue::builder($location, $object)
->withPw(1)
->withW(2)
->build();
$client->execute($store);
use Riak\Client\Command\Kv\FetchValue;
use Riak\Client\Core\Query\RiakObject;
use Riak\Client\Core\Query\RiakLocation;
use Riak\Client\Core\Query\RiakNamespace;
$namespace = new RiakNamespace('bucket_type', 'bucket_name');
$location = new RiakLocation($namespace, 'object_key');
// fetch object
$fetch = FetchValue::builder($location)
->withNotFoundOk(true)
->withR(1)
->build();
$result = $client->execute($fetch);
$object = $result->getValue();
use Riak\Client\Command\Kv\DeleteValue;
use Riak\Client\Core\Query\RiakObject;
use Riak\Client\Core\Query\RiakLocation;
use Riak\Client\Core\Query\RiakNamespace;
$namespace = new RiakNamespace('bucket_type', 'bucket_name');
$location = new RiakLocation($namespace, 'object_key');
// delete object
$delete = DeleteValue::builder($location)
->withPw(1)
->withW(2)
->build();
$this->client->execute($delete);
use \Riak\Client\Resolver\ConflictResolver;
use \Riak\Client\Core\Query\RiakObject;
use \Riak\Client\Core\Query\RiakList;
class MySimpleResolver implements ConflictResolver
{
/**
* {@inheritdoc}
*/
public function resolve(RiakList $siblings)
{
$result = new MyDomainObject();
$content = "";
/** @var $object \MyDomainObject */
foreach ($siblings as $object) {
$content .= $object->getValue();
}
$result->setValue($content);
return $result;
}
}
// register your resolver during the application start up
/** @var $builder \Riak\Client\RiakClientBuilder */
$client = $builder
->withConflictResolver('MyDomainObject' new MySimpleResolver())
->withNodeUri('http://localhost:8098')
->build();
// fetch the object and resolve any possible conflict
$namespace = new RiakNamespace('bucket_type', 'bucket_name');
$location = new RiakLocation($namespace, 'object_key');
$fetch = FetchValue::builder($location)
->withNotFoundOk(true)
->withR(1)
->build();
/** @var $domain \MyDomainObject */
$result = $client->execute($fetch);
$domain = $result->getValue('MyDomainObject');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.