ZooKeeper 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은 null이거나 비어 있으면 안 됩니다.
flags
이 매개변수는 일반 생성의 경우 0으로 설정하거나 플래그 생성의 OR로 설정할 수 있습니다.

반환 값

성공하면 새 노드의 경로(ZOO_SEQUENCE 플래그로 인해 제공된 경로와 다를 수 있음)를 반환하고 실패하면 false를 반환합니다.


오류/예외

이 메소드는 매개변수 개수 또는 유형이 잘못되었거나 노드 생성에 실패할 때 PHP 오류/경고를 내보냅니다.

주의 버전 0.3.0부터 이 메소드는 ZookeeperException과 파생 상품을 내보냅니다.


Examples

예제 #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 'ERR';
?>
                  
                

위의 예는 다음을 출력합니다.

/path/to/newnode
                

기타