Документация для разработчиков
Темная тема

StartDataCache

Описание и параметры

bool
CPageCache::StartDataCache(
	int TTL,
	string uniq_str,
	mixed initdir = false, 
	string basedir = "cache"
)

Начинает буферизацию выводимого HTML, либо выводит содержимое кеша если он ещё не истек. Если файл кеша истек, то метод возвращает "true", в противном случае - "false". Нестатический метод.

Параметры

ПараметрОписание С версии
TTL Время жизни кеша в секундах.
uniq_str Уникальный идентификатор кеша. В этот идентификатор должны входить все параметры которые могут повлиять на результат исполнения кэшируемого кода.
initdir Папка, в которой хранится кеш компонента, относительно /bitrix/cache/. Если значение - "/", то кеш будет действительным для всех каталогов сайта.
Необязательный. По умолчанию - текущий каталог.
3.3.0
basedir Базовая директория кеша. По умолчанию равен cache, то есть все сохраняется в /BX_PERSONAL_ROOT/cache/, где BX_PERSONAL_ROOT по умолчанию равен bitrix.5.1.2

Примеры использования

<?
// создаем объект
$obCache = new CPageCache; 

// время кеширования - 30 минут
$life_time = 30*60; 

// формируем идентификатор кеша в зависимости от всех параметров 
// которые могут повлиять на результирующий HTML
$cache_id = $ELEMENT_ID.$IBLOCK_TYPE.$USER->GetUserGroupString(); 

// инициализируем буферизирование вывода
if($obCache->StartDataCache($life_time, $cache_id, "/")):
	// выбираем из базы параметры элемента инфо-блока
	if($arIBlockElement = GetIBlockElement($ELEMENT_ID, $IBLOCK_TYPE)):
		echo "<pre>"; print_r($arIBlockElement); echo "</pre>";
	endif;
	// записываем предварительно буферизированный вывод в файл кеша
	$obCache->EndDataCache(); 
endif;
?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024