InitCache
bool CPHPCache::InitCache( int TTL, string uniq_str, mixed initdir = false, string basedir = "cache" )
The method initializes several properties of the CPHPCache class object. If the cache file is absent or expired, the function will return false, or true otherwise. Non-static method.
Analog method is available in the new core: Bitrix\Main\Data\Cache::initCache.
Parameters
Parameter | Description | Available form version |
---|---|---|
TTL | Cache lifetime, in seconds. | |
uniq_str | Unique cache ID. This ID must contain all the parameters which may affect the result of cached code execution. | |
initdir | Directory that store the cache component /bitrix/cache/. If "/", the cache is valid for all site directories. Optional. Current directory is used by default. | |
basedir | Base cache directory. Equals to cache value by default, i. e. all is saved in the /BX_PERSONAL_ROOT/cache/ , where BX_PERSONAL_ROOT equals to 'bitrix' by default. |
See Also
Examples of use
<? // create an object $obCache = new CPHPCache; // caching time - 30 minutes $life_time = 30*60; // form the cache ID according to all parameters // which may affect the resulting HTML $cache_id = $ELEMENT_ID.$SECTION_ID.$USER->GetUserGroupString(); // if the cache exists and is not expired, then if($obCache->InitCache($life_time, $cache_id, "/")) : // obtain cached variables $vars = $obCache->GetVars(); $SECTION_TITLE = $vars["SECTION_TITLE"]; else : // otherwise call the database $arSection = GetIBlockSection($SECTION_ID); $SECTION_TITLE = $arSection["NAME"]; endif; // add a menu item to the navigation chain $APPLICATION->AddChainItem($SECTION_TITLE, $SECTION_URL."SECTION_ID=".$SECTION_ID); // start buffered output if($obCache->StartDataCache()): // obtain the information block element parameters from the database if($arIBlockElement = GetIBlockElement($ELEMENT_ID, $IBLOCK_TYPE)): echo "<pre>"; print_r($arIBlockElement); echo "</pre>"; endif; // write the preliminary buffered output to the cache file // together with an additional variable $obCache->EndDataCache(array( "SECTION_TITLE" => $SECTION_TITLE )); endif; ?>
© «Bitrix24», 2001-2024