SDK PHP v3.x

You are currently looking at the documentation of a previous version of Kuzzle. We strongly recommend that you use the latest version. You can also use the version selector in the top menu.

Document #

Kuzzle handles two types of documents: realtime messages and stored documents. Document is the object representation of one of these document types.

Document(Collection, [documentId], [content]) #

Arguments Type Description
Collection object An instantiated Collection object
content JSON Object Initializes this document with the provided content
documentId string ID of an existing document.

Note: this constructor won't make any call to Kuzzle. When providing only a document ID, the refresh method should be called to retrieve the corresponding document content.

Properties #

Property name Type Description get/set
collection string The collection associated to this document get
content JSON Object The content of the document get/set
headers JSON Object Common headers for all sent documents. get/set
id string Unique document identifier get/set
meta JSON Object Document metadata get
version integer Current document version get


  • setting a new value to the content property is equivalent to calling setContent(data, false)
  • setting a new value to the id property will force this value for this document
  • the headers property is inherited from the provided Collection object and can be overrided

Usage #

Copied to clipboard!
use \Kuzzle\Kuzzle;
use \Kuzzle\Document;
$documentId = 'foobar';
$documentContent = [
  'title' => 'foo',
  'content' => 'bar'
$kuzzle = new Kuzzle('localhost');
$dataCollection = $kuzzle->collection('collection', 'index');
// You can use the factory embeded in DataCollection object
$document = $dataCollection->document($documentId, $documentContent);
// or directly with public constructor
$document = new Document($dataCollection, $documentId, $documentContent);