phpday 2025 - Call For Papers

Zookeeper::get

(PECL zookeeper >= 0.1.0)

Zookeeper::getRenvoie les données associées à un nœud de manière synchrone

Description

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

Liste de paramètres

path

Le nom du nœud. Exprimé sous la forme d'un nom de fichier avec des barres obliques séparant les ancêtres du nœud.

watcher_cb

Si différent de zéro, un observateur sera défini sur le serveur pour notifier le client si le nœud change.

stat

Si différent de NULL, contiendra la valeur de stat pour le chemin lors du retour.

max_size

La taille maximale des données. Si 0 est utilisé, cette méthode renverra l'ensemble des données.

Valeurs de retour

Renvoie les données en cas de succès, et false en cas d'échec.

Erreurs / Exceptions

Cette méthode émet une erreur/warning PHP lorsque le nombre de paramètres ou les types sont incorrects ou que la récupération des données a échoué.

Attention

Depuis la version 0.3.0, cette méthode émet ZookeeperException et ses dérivés.

Exemples

Exemple #1 Exemple de Zookeeper::get()

Récupère la valeur du nœud.

<?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';
?>

L'exemple ci-dessus va afficher :

nodevalue

Exemple #2 Exemple de stats de Zookeeper::get()

Renvoie les informations de stats du nœud.

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

L'exemple ci-dessus va afficher :

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

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top