本文整理汇总了PHP中AbstractAdapter::getItem方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractAdapter::getItem方法的具体用法?PHP AbstractAdapter::getItem怎么用?PHP AbstractAdapter::getItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AbstractAdapter
的用法示例。
在下文中一共展示了AbstractAdapter::getItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getItem
public function getItem($key, &$success = null, $queue = true)
{
//check to see if it's already been cached in the class
$value = parent::getItem($key, $success, $queue);
if ($success === true) {
return $value;
} else {
$fileName = $this->getFileName($key);
if ($queue === true && !file_exists($fileName)) {
if ($this->isQueueInProgress($fileName) === true) {
//anonymous function to test if we should continue to wait
$condition = function () use($fileName) {
return !file_exists($fileName);
};
$wait = $this->wait($condition);
if ($wait === false) {
$this->clearQueue($key);
$success = false;
return null;
} else {
$success = true;
return $this->readFromFile($fileName);
}
} else {
$this->queue($fileName);
$success = false;
return null;
}
} else {
$ttl = $this->getTtl($key);
if ($ttl < time() && $this->isReCacheInProgress($fileName) === false) {
//set the queue
$this->reCache($fileName);
$success = false;
return null;
} else {
$success = true;
$value = $this->readFromFile($fileName);
return $value;
}
}
}
}