array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'zookeeper.setacl.php', 1 => 'Zookeeper::setAcl', 2 => 'Sets the acl associated with a node synchronously', ), 'up' => array ( 0 => 'class.zookeeper.php', 1 => 'Zookeeper', ), 'prev' => array ( 0 => 'zookeeper.set.php', 1 => 'Zookeeper::set', ), 'next' => array ( 0 => 'zookeeper.setdebuglevel.php', 1 => 'Zookeeper::setDebugLevel', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/zookeeper/zookeeper/setacl.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PECL zookeeper >= 0.1.0)
Zookeeper::setAcl — Sets the acl associated with a node synchronously
pathThe name of the node. Expressed as a file name with slashes separating ancestors of the node.
versionThe expected version of the path.
aclThe acl to be set on the path.
This method emits PHP error/warning when parameters count or types are wrong or fail to set ACL for a node.
Since version 0.3.0, this method emits ZookeeperException and it's derivatives.
示例 #1 Zookeeper::setAcl() example
Set ACL for a node.
<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
array(
'perms' => Zookeeper::PERM_ALL,
'scheme' => 'world',
'id' => 'anyone',
)
);
$path = '/path/to/newnode';
$zookeeper->setAcl($path, $aclArray);
$r = $zookeeper->getAcl($path);
if ($r)
var_dump($r);
else
echo 'ERR';
?>以上示例会输出:
array(1) {
[0]=>
array(3) {
["perms"]=>
int(31)
["scheme"]=>
string(5) "world"
["id"]=>
string(6) "anyone"
}
}