register shutdown function () registra uma função para execução no desligamento.
Em combinação com ob start () e ob get_clean (), você pode acessar a saída antes de ser enviada ao usuário e armazená-la em cache ou modificá-la.
cache.php
<?php
ob_start();
$dir = getcwd() . "/cache/";
$cache = $dir . md5($_SERVER['REQUEST_URI']) . ".html";
if( file_exists($cache) &&
(time()-filemtime($cache)) < 86400)
{
die( file_get_contents($cache) );
}
function cacheSave( $cache ){
if ( !error_get_last() )
file_put_contents($cache, ob_get_flush());
}
register_shutdown_function('cacheSave', $cache );
Basta adicionar o seguinte código no início do front controller para habilitar o cache:
require "cache.php";
Importante função de desligamento de
registro () acessa o sistema de arquivos da raiz (/), portanto, para acessar os arquivos em sua raiz da web, você deve usar o caminho absoluto!
RainCache
Aqui está uma biblioteca de cache que implementa plug-ins, armazena em cache o HTML e minimiza CSS, JS
https://github.com/rainphp/RainCache/