InitCache
Описание и параметры
bool CPHPCache::InitCache( int TTL, string uniq_str, mixed initdir = false, string basedir = "cache" )
Инициализирует ряд свойств объекта класса CPHPCache. Если файл кеша отсутствует или истек период его жизни, то метод вернет "false", в противном случае метод вернет "true". Нестатический метод.
В новом ядре имеет аналог: Bitrix\Main\Data\Cache::initCache.
Параметры
Параметр | Описание | С версии |
---|---|---|
TTL | Время жизни кеша в секундах. | |
uniq_str | Уникальный идентификатор кеша. В этот идентификатор должны входить все параметры которые могут повлиять на результат исполнения кешируемого кода. | |
initdir | Папка, в которой хранится кеш компонента, относительно /bitrix/cache/. Если значение - "/", то кеш будет действительным для всех каталогов сайта. Необязательный. По умолчанию - текущий каталог. | 3.2.9 |
basedir | Базовая директория кеша. По умолчанию равен cache, то есть все сохраняется в /BX_PERSONAL_ROOT/cache/ , где BX_PERSONAL_ROOT по умолчанию равен bitrix. | 5.1.2 |
Смотрите также
Примеры использования
<? // создаем объект $obCache = new CPHPCache; // время кеширования - 30 минут $life_time = 30*60; // формируем идентификатор кеша в зависимости от всех параметров // которые могут повлиять на результирующий HTML $cache_id = $ELEMENT_ID.$SECTION_ID.$USER->GetUserGroupString(); // если кеш есть и он ещё не истек то if($obCache->InitCache($life_time, $cache_id, "/")) : // получаем закешированные переменные $vars = $obCache->GetVars(); $SECTION_TITLE = $vars["SECTION_TITLE"]; else : // иначе обращаемся к базе $arSection = GetIBlockSection($SECTION_ID); $SECTION_TITLE = $arSection["NAME"]; endif; // добавляем пункт меню в навигационную цепочку $APPLICATION->AddChainItem($SECTION_TITLE, $SECTION_URL."SECTION_ID=".$SECTION_ID); // начинаем буферизирование вывода if($obCache->StartDataCache()): // выбираем из базы параметры элемента инфо-блока if($arIBlockElement = GetIBlockElement($ELEMENT_ID, $IBLOCK_TYPE)): echo "<pre>"; print_r($arIBlockElement); echo "</pre>"; endif; // записываем предварительно буферизированный вывод в файл кеша // вместе с дополнительной переменной $obCache->EndDataCache(array( "SECTION_TITLE" => $SECTION_TITLE )); endif; ?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.