PHP Класс Jarves\Cache\ResponseCacher

Показать файл Открыть проект

Открытые методы

Метод Описание
__construct ( Jarves $jarves, PageStack $pageStack, Cacher $cacher, Symfony\Component\Templating\EngineInterface $templating, PageResponseFactory $pageResponseFactory )
getViewMTime ( string $view ) : mixed
renderCached ( string $cacheKey, string $view, array | callable $data = null ) : string Returns a rendered view. If we find data behind the given cache it uses this data instead of calling $data. So this function does not cache the whole rendered html. To do so use renderFullCache().
renderFullCached ( string $cacheKey, string $view, array | callable $data = null, integer $lifeTime = null, boolean $force = false ) : string Returns a rendered view. If we find html behind the given cache it returns this directly. This is a couple os ms faster than renderCached since the template engine is never used when there's a valid cache.

Описание методов

__construct() публичный Метод

public __construct ( Jarves $jarves, PageStack $pageStack, Cacher $cacher, Symfony\Component\Templating\EngineInterface $templating, PageResponseFactory $pageResponseFactory )
$jarves Jarves\Jarves
$pageStack Jarves\PageStack
$cacher Cacher
$templating Symfony\Component\Templating\EngineInterface
$pageResponseFactory Jarves\PageResponseFactory

getViewMTime() публичный Метод

public getViewMTime ( string $view ) : mixed
$view string
Результат mixed

renderCached() публичный Метод

In this cache method, the template engine is always called. If you want to cache this as well, use renderFullCached(). Example: return $this->renderCache('myCache', 'plugin1/default.tpl', function(){ return array('items' => heavyDbQuery()); }); Note: The $data callable is only called if the cache needs to regenerate (when it has been invalidated or empty, or the view file changed). If the callable $data returns NULL, then this will return NULL, too.
См. также: method `render` to get more information.
public renderCached ( string $cacheKey, string $view, array | callable $data = null ) : string
$cacheKey string
$view string
$data array | callable Pass the data as array or a data provider function.
Результат string

renderFullCached() публичный Метод

Example: return $this->renderFullCached('myCache', 'plugin1/default.tpl', function(){ return array('items' => heavyDbQuery()); }); Note: The $data callable is only called if the cache needs to regenerate (when it has been invalidated or empty, or the view file changed). If the callable $data returns NULL, then this will return NULL, too, without entering the actual rendering process. You should use this method in your plugins instead of writing your own cache mechanism, because this method handles PageResponse merging. Means: If templates used in this $view are changing somehow the PageResponse ({{loadAsset('style.css')}} calls) then this information (diff to current PageResponse) is stored and restored when we found a html cache. The diff is beside the actual rendered HTML also stored in the cache to keep this possible.
См. также: method `render` to get more information.
public renderFullCached ( string $cacheKey, string $view, array | callable $data = null, integer $lifeTime = null, boolean $force = false ) : string
$cacheKey string
$view string
$data array | callable Pass the data as array or a data provider function.
$lifeTime integer In seconds. Default is one hour/3600 seconds.
$force boolean Force to bypass the cache and always call $data. For debuggin purposes.
Результат string