Documentation

Cluster
in package
implements ClusterInterface

Cluster is an object containing functionality for performing cluster level operations against a cluster and for access to buckets.

Tags
since
4.0.0

Interfaces, Classes, Traits and Enums

ClusterInterface

Table of Contents

$connectionHash  : string
$core  : resource
$observability  : ObservabilityContext
$options  : ClusterOptions
__construct()  : mixed
analyticsIndexes()  : AnalyticsIndexManager
Creates a new manager object for managing analytics query indexes.
analyticsQuery()  : AnalyticsResult
Executes an analytics query against the cluster.
bucket()  : Bucket
Returns a new bucket object.
buckets()  : BucketManager
Creates a new bucket manager object for managing buckets.
connect()  : ClusterInterface
diagnostics()  : mixed
Returns diagnostics information about connections that the SDK has to the cluster. This does not perform any operations.
notifyFork()  : void
Notifies the SDK about usage of `fork(2)` syscall. Typically PHP exposes it using `pcntl_fork()` function, but the library should have chance to properly close descriptors and reach safe point to allow forking the process.
ping()  : mixed
Executes a ping for each service against each node in the cluster. This can be used for determining the current health of the cluster.
query()  : QueryResult
Executes a N1QL query against the cluster.
queryIndexes()  : QueryIndexManager
Creates a new manager object for managing N1QL query indexes.
search()  : SearchResult
Executes a search query against the full text search services.
searchIndexes()  : SearchIndexManager
Creates a new search index manager object for managing search query indexes.
searchQuery()  : SearchResult
Executes a full text search query against the cluster.
setAuthenticator()  : void
Replaces the current authenticator used by this cluster.
transactions()  : Transactions
Creates a new bucket manager object for managing buckets.
users()  : UserManager
Creates a new user manager object for managing users and groups.
enableProtostellar()  : void

Properties

$connectionHash

private string $connectionHash

Methods

analyticsQuery()

Executes an analytics query against the cluster.

public analyticsQuery(string $statement[, AnalyticsOptions|null $options = null ]) : AnalyticsResult

Note: On Couchbase Server versions < 6.5 a bucket must be opened before using analyticsQuery.

Parameters
$statement : string

the analytics query statement to execute

$options : AnalyticsOptions|null = null

the options to use when executing the query

Tags
throws
TimeoutException
throws
CouchbaseException
since
4.0.0
Return values
AnalyticsResult —

bucket()

Returns a new bucket object.

public bucket(string $name) : Bucket
Parameters
$name : string

the name of the bucket

Tags
since
4.0.0
Return values
Bucket —

diagnostics()

Returns diagnostics information about connections that the SDK has to the cluster. This does not perform any operations.

public diagnostics([string|null $reportId = null ]) : mixed
Parameters
$reportId : string|null = null

a name which will be included within the ping result

Tags
since
4.0.0
Return values
mixed —

notifyFork()

Notifies the SDK about usage of `fork(2)` syscall. Typically PHP exposes it using `pcntl_fork()` function, but the library should have chance to properly close descriptors and reach safe point to allow forking the process.

public static notifyFork(string $event) : void

This is not a problem in case of proc_open() as in this case the memory and descriptors are not inherited by the child process.

Allowed values for $event are:

  • ForkEvent::PREPARE - must be used before fork() to ensure the SDK reaches safe point
  • ForkEvent::CHILD - must be used in the child process, the branch where pcntl_fork() returns zero
  • ForkEvent::PARENT - must be used in the parent process, the branch where pcntl_fork() returns pid of the child process

In case pcntl_fork() returns negative value, and the application decides to continue, notifyFork(ForkEvent::PARENT) must be invoked to resume the SDK.

Parameters
$event : string

type of the event to send to the library (one of the constants in ForkEvent).

Tags
see
https://www.php.net/manual/en/function.pcntl-fork.php
see
https://www.php.net/manual/en/function.proc-open.php
since
4.2.1
Return values
void —

ping()

Executes a ping for each service against each node in the cluster. This can be used for determining the current health of the cluster.

public ping([mixed|null $services = null ][, mixed|null $reportId = null ]) : mixed
Parameters
$services : mixed|null = null

the services to ping against

$reportId : mixed|null = null

a name which will be included within the ping result

Tags
see
ServiceType::KEY_VALUE
see
ServiceType::QUERY
see
ServiceType::ANALYTICS
see
ServiceType::SEARCH
see
ServiceType::VIEWS
see
ServiceType::MANAGEMENT
see
ServiceType::EVENTING
since
4.0.0
Return values
mixed —

query()

Executes a N1QL query against the cluster.

public query(string $statement[, QueryOptions|null $options = null ]) : QueryResult

Note: On Couchbase Server versions < 6.5 a bucket must be opened before using query.

Parameters
$statement : string

the N1QL query statement to execute

$options : QueryOptions|null = null

the options to use when executing the query

Tags
throws
InvalidArgumentException
throws
TimeoutException
throws
CouchbaseException
since
4.0.0
Return values
QueryResult —

Executes a search query against the full text search services.

public search(string $indexName, SearchRequest $request[, SearchOptions|null $options = null ]) : SearchResult

This can be used to perform a traditional FTS query, and/or a vector search.

Parameters
$indexName : string

the cluster-level FTS index to use for the search request

$request : SearchRequest

The search request to run

$options : SearchOptions|null = null

The options to use when executing the search request

Tags
throws
InvalidArgumentException
since
4.1.7
Return values
SearchResult —

searchQuery()

Executes a full text search query against the cluster.

public searchQuery(string $indexName, SearchQuery $query[, SearchOptions|null $options = null ]) : SearchResult

Note: On Couchbase Server versions < 6.5 a bucket must be opened before using searchQuery.

Parameters
$indexName : string

the fts index to use for the query

$query : SearchQuery

the search query to execute

$options : SearchOptions|null = null

the options to use when executing the query

Tags
since
4.0.0
Return values
SearchResult —

setAuthenticator()

Replaces the current authenticator used by this cluster.

public setAuthenticator(Authenticator $authenticator) : void

NOTE: Setting a new authenticator does not change the authentication status of existing connections.

Parameters
$authenticator : Authenticator

The authenticator to replace

Tags
throws
InvalidArgumentException

if TLS is not enabled but provided authenticator requires TLS

since
4.5.0
Return values
void —

users()

Creates a new user manager object for managing users and groups.

public users() : UserManager
Tags
since
4.0.0
Return values
UserManager —

enableProtostellar()

private static enableProtostellar() : void
Tags
throws
InvalidArgumentException

if runtime dependencies are missing ("protobuf" and "grpc" modules)

Return values
void —

        

Search results