• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/data/cacheenginexcache.php
  • Класс: BitrixMainDataCacheEngineXCache
  • Вызов: CacheEngineXCache::read
public function read(&$allVars, $baseDir, $initDir, $filename, $TTL)
{
	$baseDirVersion = xcache_get($this->sid.$baseDir);
	if ($baseDirVersion === null)
		return false;

	if ($initDir !== false)
	{
		$initDirVersion = xcache_get($baseDirVersion."|".$initDir);
		if ($initDirVersion === null)
			return false;
	}
	else
	{
		$initDirVersion = "";
	}

	$key = $baseDirVersion."|".$initDirVersion."|".$filename;
	$allVars = xcache_get($key);

	if ($allVars === null)
	{
		return false;
	}
	else
	{
		if ($this->useLock)
		{
			if ($this->lock($baseDir, $initDir, $key."~", $TTL))
			{
				return false;
			}
		}

		$this->read = mb_strlen($allVars);
		$allVars = unserialize($allVars);
	}

	return true;
}