/** * Starts the output cache. Returns Nette\Caching\OutputHelper object if buffering was started. * @param Nette\Caching\IStorage * @param string * @param Nette\Caching\OutputHelper[] * @param array * @return Nette\Caching\OutputHelper */ public static function createCache(Nette\Caching\IStorage $cacheStorage, $key, &$parents, array $args = NULL) { if ($args) { if (array_key_exists('if', $args) && !$args['if']) { return $parents[] = new \stdClass(); } $key = array_merge([$key], array_intersect_key($args, range(0, count($args)))); } if ($parents) { end($parents)->dependencies[Nette\Caching\Cache::ITEMS][] = $key; } $cache = new Nette\Caching\Cache($cacheStorage, 'Nette.Templating.Cache'); if ($helper = $cache->start($key)) { if (isset($args['dependencies'])) { $args += call_user_func($args['dependencies']); } if (isset($args['expire'])) { $args['expiration'] = $args['expire']; // back compatibility } $helper->dependencies = [Nette\Caching\Cache::TAGS => isset($args['tags']) ? $args['tags'] : NULL, Nette\Caching\Cache::EXPIRATION => isset($args['expiration']) ? $args['expiration'] : '+ 7 days']; $parents[] = $helper; } return $helper; }
/** * Starts the output cache. Returns Nette\Caching\OutputHelper object if buffering was started. * @param Nette\Caching\IStorage * @param string * @param array of Nette\Caching\OutputHelper * @param array * @return Nette\Caching\OutputHelper */ public static function createCache(Nette\Caching\IStorage $cacheStorage, $key, &$parents, $args = NULL) { if ($args) { if (array_key_exists('if', $args) && !$args['if']) { return $parents[] = (object) NULL; } $key = array_merge(array($key), array_intersect_key($args, range(0, count($args)))); } if ($parents) { end($parents)->dependencies[Nette\Caching\Cache::ITEMS][] = $key; } $cache = new Nette\Caching\Cache($cacheStorage, 'Nette.Templating.Cache'); if ($helper = $cache->start($key)) { $helper->dependencies = array(Nette\Caching\Cache::TAGS => isset($args['tags']) ? $args['tags'] : NULL, Nette\Caching\Cache::EXPIRATION => isset($args['expire']) ? $args['expire'] : '+ 7 days'); $parents[] = $helper; } return $helper; }
/** * @param \Nette\Caching\IStorage $cacheStorage * @param string $key * @param mixed $parents * @param $template * @param mixed[] $args * @return \Nette\Caching\OutputHelper */ public static function createCache(IStorage $cacheStorage, $key, &$parents, $template, array $args = null) { if ($args) { if (array_key_exists('if', $args) && !$args['if']) { return self::$parents[] = $parents[] = new \stdClass(); } $key = array_merge(array($key), array_intersect_key($args, range(0, count($args)))); } if ($parents) { end($parents)->dependencies[Cache::ITEMS][] = $key; } if (count(self::$parents)) { end(self::$parents)->dependencies[Cache::ITEMS][] = $key; } $cache = new Cache($cacheStorage, 'Nette.Templating.Cache'); if ($helper = $cache->start($key)) { if (isset($args['expire'])) { $args['expiration'] = $args['expire']; // back compatibility } $helper->dependencies = array(Cache::TAGS => isset($args['tags']) ? $args['tags'] : null, Cache::EXPIRATION => isset($args['expiration']) ? $args['expiration'] : '+ 7 days', Cache::FILES => array($template)); self::$parents[] = $parents[] = $helper; } return $helper; }
initRuntime(Nette\Templating\FileTemplate$template,\stdClass$global){if(!empty($global->caches)){end($global->caches)->dependencies[Nette\Caching\Cache::FILES][]=$template->getFile();}}static function createCache(Nette\Caching\IStorage$cacheStorage,$key,&$parents,array$args=NULL){if($args){if(array_key_exists('if',$args)&&!$args['if']){return$parents[]=(object)NULL;}$key=array_merge(array($key),array_intersect_key($args,range(0,count($args))));}if($parents){end($parents)->dependencies[Nette\Caching\Cache::ITEMS][]=$key;}$cache=new Nette\Caching\Cache($cacheStorage,'Nette.Templating.Cache');if($helper=$cache->start($key)){if(isset($args['expire'])){$args['expiration']=$args['expire'];}$helper->dependencies=array(Nette\Caching\Cache::TAGS=>isset($args['tags'])?$args['tags']:NULL,Nette\Caching\Cache::EXPIRATION=>isset($args['expiration'])?$args['expiration']:'+ 7 days');$parents[]=$helper;}return$helper;}}use