PHP 클래스 Jarves\Cache\ResponseCacher

파일 보기 프로젝트 열기: jarves/jarves

공개 메소드들

메소드 설명
__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