|
Bitrix - класс Cache
Bitrix - класс Cache
Cache - финальный класс для кеширования PHP переменных и HTML результата выполнения скрипта
Кэш сохраняется в папке bitrix/cache/.
Методы класса
Метод | Описание |
StartDataCache |
Инициализирует механизм кеширования и начинает буферизацию или выводит содержимое из кеша. |
EndDataCache |
Сохраняет буферизированный HTML и PHP переменные файле кеша. |
InitCache | Инициализирует механизм кеширования. |
GetVars | Возвращает сохраненные в кеше PHP переменные. |
Output | Выводит сохраненный в кеше HTML результат. |
IsCacheExpired | Проверяет истек ли период жизни кэша. |
CleanDir | Метод очищает кеш по параметру basedir. |
AbortDataCache | Отменяет создание текущего кэша. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
<?php
$cache = Bitrix\Main\Data\Cache::createInstance();
$cacheTime = 3600; // время существования кэша
$cacheId = 'category15'; // ИД кэша
$cacheDir = '/category/'; // папка, в которой будет сохраняться кэш
if ($cache->initCache($cacheTime, $cacheId, $cacheDir))
{
// получаем закешированные переменные
$result = $cache->getVars();
} else{
// иначе обращаемся к базе
$arSection = GetIBlockSection($arParams['SECTION_ID']);
$SECTION_TITLE = $arSection["NAME"];
}
// начинаем буферизирование вывода
if($cache->startDataCache()){
$result = array();
// ...
if ($isInvalid)
{
$cache->abortDataCache();
}
// записываем предварительно буферизированный вывод в файл кеша
// вместе с дополнительной переменной
$cache->endDataCache($result);
}
?>
|
|