Bitrix - класс CPHPCache
Войти

Bitrix - класс CPHPCache

Bitrix - класс CPHPCache

CPHPCache - класс для кеширования PHP переменных и HTML результата выполнения скрипта.

Результаты кэширования сохраняются в виде файлов в каталоге /bitrix/cache/. Если время кэширования не истелко, то вместо ресурсоемкого кода будет подключен предварительно созданный файл кэша.

Важно: класс CPHPCache считается устаревшим рекомендуется использовать класс из нового ядра D7 Cache

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

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
39
<?php 

$cntIBLOCK_List 
10;
$cache = new CPHPCache();
$cache_time 3600;
$cache_id 'arIBlockListID'.$cntIBLOCK_List;
$cache_path '/arIBlockListID/';
if (
$cache_time && $cache->InitCache($cache_time$cache_id$cache_path))
{
   
$res $cache->GetVars();
   if (
is_array($res["arIBlockListID"]) && (count($res["arIBlockListID"]) > 0))
      
$arIBlockListID $res["arIBlockListID"];
}
if (!
is_array($arIBlockListID))
{
   
$res CIBlock::GetList(
      Array(), 
      Array(
         
'TYPE' => 'catalog'
         
'SITE_ID' => SITE_ID
         
'ACTIVE' => 'Y'
         
"CNT_ACTIVE" => "Y"
         
"!CODE" => 'test%'
      
), true
   
);
   while(
$ar_res $res->Fetch())
   {
      if(
$ar_res['ELEMENT_CNT'] > 0)
      
$arIBlockListID[] = $ar_res['ID'];
   }
   
//////////// end cache /////////
   
if ($cache_time 0)
   {
         
$cache->StartDataCache($cache_time$cache_id$cache_path);
         
$cache->EndDataCache(array("arIBlockListID"=>$arIBlockListID));
   }
}

?>
Теги:
php