コード例 #1
0
ファイル: PageCache.php プロジェクト: liuzhiqiangruc/tipi
            $headers = $this->cache->get($this->key . "headers");
            if ($headers !== false) {
                foreach (json_decode($headers) as $header) {
                    header($header);
                }
            }
            echo $output;
            exit;
        }
    }
    public function end()
    {
        $output = ob_get_clean();
        // 缓存输出的头信息
        // 但是忽略404 500 的请求request don't cache it
        $headers = headers_list();
        if (strlen($output) > 0 && self::$enable && !in_array("Status: 404 Not Found", $headers) && !in_array("Status: 500 Server Internal Error", $headers)) {
            if (!empty($headers)) {
                $this->cache->set($this->key . 'headers', json_encode($headers));
            }
            $this->cache->set($this->key, $output);
        }
        echo $output;
    }
}
$key = $_SERVER['REQUEST_URI'];
$cache_dir = defined('TIPI_CACHE_DIR') ? TIPI_CACHE_DIR : null;
$cache = new SimpieCache($cache_dir);
$page_cache = new PageCache($key, $cache);
$page_cache->start();