本文整理汇总了PHP中CPHPCache::GetPath方法的典型用法代码示例。如果您正苦于以下问题:PHP CPHPCache::GetPath方法的具体用法?PHP CPHPCache::GetPath怎么用?PHP CPHPCache::GetPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPHPCache
的用法示例。
在下文中一共展示了CPHPCache::GetPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadConfig
public function loadConfig()
{
//todo fix empty config caching
$cache = new \CPHPCache();
$cacheFile = $_SERVER['DOCUMENT_ROOT'] . "/bitrix/cache/" . $cache->GetPath(__CLASS__);
// проверяем, обновлялся ли конфиг
$cacheWritten = filemtime($cacheFile);
$configWritten = filemtime($this->configFile);
// устаревший кеш или неудачно начатый кеш перезаписываем
if ($configWritten > $cacheWritten || !$cache->InitCache(self::TTL, __CLASS__, '/')) {
$cache->Clean(__CLASS__, '/');
try {
parent::loadConfig();
if ($cache->StartDataCache(self::TTL, __CLASS__, '/')) {
$cache->EndDataCache(array('config' => $this->config));
} else {
_log('Caching failed', 'widgets');
}
} catch (Exception $e) {
_log('loading config error: ' . $e->getMessage(), 'widgets');
}
} else {
$vars = $cache->GetVars();
$this->config = $vars['config'];
}
}
示例2: InitCache
function InitCache($TTL, $uniq_str, $initdir = false, $basedir = "cache")
{
global $APPLICATION, $USER;
if ($initdir === false) {
$initdir = $APPLICATION->GetCurDir();
}
$this->basedir = BX_PERSONAL_ROOT . "/" . $basedir . "/";
$this->initdir = $initdir;
$this->filename = "/" . CPHPCache::GetPath($uniq_str);
$this->TTL = $TTL;
$this->uniq_str = $uniq_str;
$this->vars = false;
if ($TTL <= 0) {
return false;
}
if (is_object($USER) && $USER->CanDoOperation('cache_control')) {
if (isset($_GET["clear_cache_session"])) {
if (strtoupper($_GET["clear_cache_session"]) == "Y") {
$_SESSION["SESS_CLEAR_CACHE"] = "Y";
} elseif (strlen($_GET["clear_cache_session"]) > 0) {
unset($_SESSION["SESS_CLEAR_CACHE"]);
}
}
if (isset($_GET["clear_cache"]) && strtoupper($_GET["clear_cache"]) == "Y") {
return false;
}
}
if (isset($_SESSION["SESS_CLEAR_CACHE"]) && $_SESSION["SESS_CLEAR_CACHE"] == "Y") {
return false;
}
$arAllVars = array("CONTENT" => "", "VARS" => "");
if (!$this->_cache->read($arAllVars, $this->basedir, $this->initdir, $this->filename, $this->TTL)) {
return false;
}
$GLOBALS["CACHE_STAT_BYTES"] += $this->_cache->read;
$this->content = $arAllVars["CONTENT"];
$this->vars = $arAllVars["VARS"];
return true;
}