ConFoo 2025

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($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)
}

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top