2015-12-16 2 views
0

Есть ли способ использовать кэш typo3 для данных, сгенерированных в одном из моих extbase-расширений? У меня есть сценарий для создания навигации, который довольно сложный, но который не должен сильно меняться, поэтому после получения результата я бы очень хотел использовать typo3 для его хранения (и когда кто-то нажимает кнопку «flush all caches» его тоже нужно смывать).Использовать кеш TYPO3 для хранения значений

Возможно ли это? Если так - как?

+1

Да, вы можете использовать рамки кэширования. Вот документация: https://docs.typo3.org/typo3cms/CoreApiReference/CachingFramework/Index.html – Jost

ответ

0

TYPO3 предоставляет кэш-схему для таких задач.

Документацию можно найти на https://docs.typo3.org/typo3cms/CoreApiReference/CachingFramework/Index.html

Вот небольшой пример, который может быть использован в качестве обертки вокруг вашего поколения:

public function generateMenu(array $pageUids) 
{ 
    $cache = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager') 
     ->getCache('fashionesta_newsletter'); 
    $cacheIdentifier = md5(implode($pageUids)); 

    $menu = $cache->get($cacheIdentifier); 
    if($menu !== false) { 
     return $menu; 
    } 

    // Generation logic 

    $cache->set($cacheIdentifier, $menu, array(), 60 * 5); 
    return $menu; 
} 
Смежные вопросы