Zookeeper::get

(PECL zookeeper >= 0.1.0)

Zookeeper::getСинхронно получает данные, связанные с узлом

Описание

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

Список параметров

path

Имя узла. Выражается как имя файла с косой чертой, разделяющей предков узла.

watcher_cb

Если ненулевое значение, на сервере будет установлено наблюдение, чтобы уведомить клиента об изменении узла.

stat

Если не NULL, при возврате будет сохранено значение stat для пути.

max_size

Максимальный размер данных. Если используется 0, метод вернет все данные.

Возвращаемые значения

Возвращает данные в случае успешного выполнения и false в случае возникновения ошибки.

Ошибки

Метод выдает ошибку/предупреждение PHP, когда количество параметров или типы неверны или не получается получить значение от узла.

Предостережение

Начиная с версии 0.3.0, метод выбрасывает ZookeeperException и его производные.

Примеры

Пример #1 Пример использования Zookeeper::get()

Получение значения от узла.

<?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 
'Ошибка';
?>

Результат выполнения данного примера:

nodevalue

Пример #2 Пример использования stat Zookeeper::get()

Получение информации о статистике узла.

<?php
$zookeeper 
= new Zookeeper('localhost:2181');
$path '/path/to/node';
$stat = [];
$zookeeper->get($pathnull$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)
}

Смотрите также