Zookeeper::create
(PECL zookeeper >= 0.1.0)
Zookeeper::create — Создает синхронно узел
Описание
$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($path, null, $aclArray);
if ($realPath)
echo $realPath;
else
echo 'Ошибка';
?>
Результат выполнения данного примера:
/path/to/newnode
Смотрите также
- Zookeeper::delete() - Удаляет синхронно узел в zookeeper
- Zookeeper::getChildren() - Выводит список потомков узла синхронно
- Разрешения ZooKeeper
- ZookeeperException