Redaxscript\Modules\PageCache\PageCache::renderTemplate PHP Method

renderTemplate() public static method

renderTemplate
Since: 3.0.0
public static renderTemplate ( ) : mixed
return mixed
    public static function renderTemplate()
    {
        $registry = Registry::getInstance();
        $request = Request::getInstance();
        $language = Language::getInstance();
        /* handle notification */
        if (!is_dir(self::$_configArray['directory']) && !mkdir(self::$_configArray['directory'])) {
            self::setNotification('error', $language->get('directory_not_found') . $language->get('colon') . ' ' . self::$_configArray['directory'] . $language->get('point'));
        }
        /* prevent as needed */
        if ($request->getPost() || $registry->get('noCache')) {
            return false;
        }
        /* cache as needed */
        $cache = new Cache();
        $cache->init(self::$_configArray['directory'], self::$_configArray['extension']);
        $fullRoute = $registry->get('fullRoute');
        /* load from cache */
        if ($cache->validate($fullRoute, self::$_configArray['lifetime'])) {
            $raw = $cache->retrieve($fullRoute);
            $content = preg_replace('/' . self::$_configArray['tokenPlaceholder'] . '/', $registry->get('token'), self::_uncompress($raw));
            return ['header' => function_exists('gzdeflate') ? 'content-encoding: deflate' : null, 'content' => self::_compress($content)];
        } else {
            $raw = Template\Tag::partial('templates/' . $registry->get('template') . '/index.phtml');
            $content = preg_replace('/' . $registry->get('token') . '/', self::$_configArray['tokenPlaceholder'], $raw);
            $cache->store($fullRoute, self::_compress($content));
            return ['content' => $raw];
        }
    }