本文整理汇总了PHP中FileBackend::prepare方法的典型用法代码示例。如果您正苦于以下问题:PHP FileBackend::prepare方法的具体用法?PHP FileBackend::prepare怎么用?PHP FileBackend::prepare使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileBackend
的用法示例。
在下文中一共展示了FileBackend::prepare方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initDirectory
/**
* Creates a directory with the appropriate zone permissions.
* Callers are responsible for doing read-only and "writable repo" checks.
*
* @param string $dir Virtual URL (or storage path) of directory to clean
* @return Status
*/
protected function initDirectory($dir)
{
$path = $this->resolveToStoragePath($dir);
list(, $container, ) = FileBackend::splitStoragePath($path);
$params = array('dir' => $path);
if ($this->isPrivate || $container === $this->zones['deleted']['container']) {
# Take all available measures to prevent web accessibility of new deleted
# directories, in case the user has not configured offline storage
$params = array('noAccess' => true, 'noListing' => true) + $params;
}
return $this->backend->prepare($params);
}
示例2: doPerfTest
protected function doPerfTest(FileBackend $backend)
{
$ops1 = array();
$ops2 = array();
$ops3 = array();
$ops4 = array();
$ops5 = array();
$baseDir = 'mwstore://' . $backend->getName() . '/testing-cont1';
$backend->prepare(array('dir' => $baseDir));
$dirname = $this->getOption('srcdir');
$dir = opendir($dirname);
if (!$dir) {
return;
}
while ($dir && ($file = readdir($dir)) !== false) {
if ($file[0] != '.') {
$this->output("Using '{$dirname}/{$file}' in operations.\n");
$dst = $baseDir . '/' . wfBaseName($file);
$ops1[] = array('op' => 'store', 'src' => "{$dirname}/{$file}", 'dst' => $dst, 'overwrite' => 1);
$ops2[] = array('op' => 'copy', 'src' => "{$dst}", 'dst' => "{$dst}-1", 'overwrite' => 1);
$ops3[] = array('op' => 'move', 'src' => $dst, 'dst' => "{$dst}-2", 'overwrite' => 1);
$ops4[] = array('op' => 'delete', 'src' => "{$dst}-1");
$ops5[] = array('op' => 'delete', 'src' => "{$dst}-2");
}
if (count($ops1) >= $this->getOption('maxfiles', 20)) {
break;
// enough
}
}
closedir($dir);
$this->output("\n");
$method = $this->hasOption('quick') ? 'doQuickOperations' : 'doOperations';
$opts = array('force' => 1);
if ($this->hasOption('parallelize')) {
$opts['parallelize'] = $this->getOption('parallelize') === 'true';
}
$start = microtime(true);
$status = $backend->{$method}($ops1, $opts);
$e = (microtime(true) - $start) * 1000;
if ($status->getErrorsArray()) {
print_r($status->getErrorsArray());
exit(0);
}
$this->output($backend->getName() . ": Stored " . count($ops1) . " files in {$e} ms.\n");
$start = microtime(true);
$backend->{$method}($ops2, $opts);
$e = (microtime(true) - $start) * 1000;
if ($status->getErrorsArray()) {
print_r($status->getErrorsArray());
exit(0);
}
$this->output($backend->getName() . ": Copied " . count($ops2) . " files in {$e} ms.\n");
$start = microtime(true);
$backend->{$method}($ops3, $opts);
$e = (microtime(true) - $start) * 1000;
if ($status->getErrorsArray()) {
print_r($status->getErrorsArray());
exit(0);
}
$this->output($backend->getName() . ": Moved " . count($ops3) . " files in {$e} ms.\n");
$start = microtime(true);
$backend->{$method}($ops4, $opts);
$e = (microtime(true) - $start) * 1000;
if ($status->getErrorsArray()) {
print_r($status->getErrorsArray());
exit(0);
}
$this->output($backend->getName() . ": Deleted " . count($ops4) . " files in {$e} ms.\n");
$start = microtime(true);
$backend->{$method}($ops5, $opts);
$e = (microtime(true) - $start) * 1000;
if ($status->getErrorsArray()) {
print_r($status->getErrorsArray());
exit(0);
}
$this->output($backend->getName() . ": Deleted " . count($ops5) . " files in {$e} ms.\n");
}
示例3: prepare
private function prepare(array $params)
{
return $this->backend->prepare($params);
}