Zookeeper::get

Gets the data associated with a node synchronously

説明

public string Zookeeper::get(
    string $path,
    callable $watcher_cb = null,
    array &$stat = null,
    int $max_size = 0
)

パラメータ

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

stat

If not NULL, will hold the value of stat for the path on return.

max_size

Max size of the data. If 0 is used, this method will return the whole data.

戻り値

Returns the data on success, and false on failure.

エラー / 例外

This method emits PHP error/warning when parameters count or types are wrong or fail to get value from node.

警告

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

例1 Zookeeper::get example

Get value from node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$r = $zookeeper->get($path);
if ($r)
  echo $r;
else
  echo 'ERR';
?>

上の例の出力は以下となります。

nodevalue

例2 Zookeeper::get stat example

Get node stat info.

<?php
$zookeeper = new Zookeeper('localhost:2181');
$path = '/path/to/node';
$stat = [];
$zookeeper->get($path, null, $stat);
var_dump($stat);
?>

上の例の出力は以下となります。

array(11) {
  ["czxid"]=>
  float(0)
  ["mzxid"]=>
  float(0)
  ["ctime"]=>
  float(0)
  ["mtime"]=>
  float(0)
  ["version"]=>
  int(0)
  ["cversion"]=>
  int(-2)
  ["aversion"]=>
  int(0)
  ["ephemeralOwner"]=>
  float(0)
  ["dataLength"]=>
  int(0)
  ["numChildren"]=>
  int(2)
  ["pzxid"]=>
  float(0)
}

参考

  • Zookeeper::set
  • ZookeeperException