Zookeeper::create

(PECL zookeeper >= 0.1.0)

Zookeeper::createСоздает синхронно узел

Описание

public Zookeeper::create ( string $path , string $value , array $acls , int $flags = null ) : string

Метод создаст узел в ZooKeeper. Узел может быть создан только в том случае, если он еще не существует. Флаги создания влияют на создание узлов. Если установлен флаг ZOO_EPHEMERAL, узел автоматически удаляется, если сеанс клиента завершается. Если установлен флаг ZOO_SEQUENCE, к имени пути добавляется уникальный монотонно увеличивающийся порядковый номер.

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

path

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

value

Данные для хранения в узле.

acls

Начальный ACL узла. ACL не должен быть нулевым или пустым.

flags

Может быть 0 для обычного создания или с указанием флагов создания.

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

Возвращает путь нового узла (он может отличаться от указанного пути из-за флага ZOO_SEQUENCE) в случае успешного выполнения и false в случае возникновения ошибки.

Ошибки

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

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

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

Примеры

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

Создание нового узла.

<?php
$zookeeper 
= new Zookeeper('locahost:2181');
$aclArray = array(
  array(
    
'perms'  => Zookeeper::PERM_ALL,
    
'scheme' => 'world',
    
'id'     => 'anyone',
  )
);
$path '/path/to/newnode';
$realPath $zookeeper->create($pathnull$aclArray);
if (
$realPath)
  echo 
$realPath;
else
  echo 
'Ошибка';
?>

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

/path/to/newnode

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