RunCode

Por ejemplo para 'paca' => Cacher::def('paca', Cacher::ENCODE_PHP | Cacher::ENCODE_JSON),
  • $pacaEnPhp = Cacher::get('paca.php'); // si no existe o expiro lo genera y regresa el valor
  • $pacaEnPhp=array ( 'array' => 2.7172, 'pi' => 3.14159211, 0 => 'do', 1 => 'pacaaaa', 'now' => \DateTime::__set_state(array( 'date' => '2026-01-27 08:00:44.213162', 'timezone_type' => 3, 'timezone' => 'America/Mexico_City', )), )

  • $pacaEnJson = Cacher::get('paca.json'); // si no existe o expiro lo genera y regresa el valor
  • $pacaEnJson='{"array":2.7172,"pi":3.14159211,"0":"do","1":"pacaaaa","now":{"date":"2026-01-27 08:00:44.213162","timezone_type":3,"timezone":"America\\/Mexico_City"}}'


Despues de forsar el cambio:
  • $pacaEnPhp = Cacher::get('paca.php'); // si no existe o expiro lo genera y regresa el valor
  • $pacaEnPhp=array ( 'array' => 2.7172, 'pi' => 3.14159211, 0 => 'do', 1 => 'pacaaaa', 'now' => \DateTime::__set_state(array( 'date' => '2026-01-27 08:00:44.216190', 'timezone_type' => 3, 'timezone' => 'America/Mexico_City', )), )

  • $pacaEnJson = Cacher::get('paca.json'); // si no existe o expiro lo genera y regresa el valor
  • $pacaEnJson='{"array":2.7172,"pi":3.14159211,"0":"do","1":"pacaaaa","now":{"date":"2026-01-27 08:00:44.216190","timezone_type":3,"timezone":"America\\/Mexico_City"}}'

require('../Cacher.php');

// en config php
    Cacher::init(
       null, // path a donde se guardan los archivos cacheados __DIR__ . '/cachedContent/',
       include 'cacheArrayDefinition.php',
       60 * 5 // 5 min, para el ejemplo = 60 * 5,  12 horas = 60 * 60 * 12
    );

// pedir el archivo
    $pacaEnPhp = Cacher::get('paca.php'); // si no existe o expiro lo genera y regresa el valor
    $pacaEnJson = Cacher::get('paca.json'); // si no existe o expiro lo genera y regresa el valor

    echo "<hr>Por ejemplo para 'paca' => Cacher::def('paca', Cacher::ENCODE_PHP | Cacher::ENCODE_JSON),
            <ul>
            <li>\$pacaEnPhp = Cacher::get('paca.php'); // si no existe o expiro lo genera y regresa el valor</li>
            <p>\$pacaEnPhp=" . var_export($pacaEnPhp, true);

    echo "<li>\$pacaEnJson = Cacher::get('paca.json'); // si no existe o expiro lo genera y regresa el valor</li>
            <p>\$pacaEnJson=" . var_export($pacaEnJson, true)
        . "</ul>";

// cuando cambia forzar el cambio
    $ok = Cacher::generate('paca'); // lama su callback
    // o manualmente
    // $ok =  Cacher::set('paca', ['nuevo_array', 'no llama el callback']);

    $pacaEnPhp = Cacher::get('paca.php'); // si no existe o expiro lo genera y regresa el valor
    $pacaEnJson = Cacher::get('paca.json'); // si no existe o expiro lo genera y regresa el valor
    echo "<hr>Despues de forzar el cambio:
        <ul>
        <li>\$pacaEnPhp = \Cacher::get('paca.php'); // si no existe o expiro lo genera y regresa el valor</li>
        <p>\$pacaEnPhp=" . var_export($pacaEnPhp, true);

     echo "<li>\$pacaEnJson = \Cacher::get('paca.json'); // si no existe o expiro lo genera y regresa el valor</li>
            <p>\$pacaEnJson=" . var_export($pacaEnJson, true) .
            "</ul>";

// slatarse al generador via callbacks, un archivo no definido en el array del init (solo casos excepcionales)
    $ok = Cacher::set('gatos.html', '<h1>Gatos</h1>');
    $ok = Cacher::get('gatos.html', 'No encontre gatos.html');


// funciones/metodos para generadores
    function dame() { return Date('Y-m-d G:i:s'); }

    function paca() { return ['array'=>2.7172, 'pi'=>3.14159211, 'do', 'pacaaaa', 'now'=>new DateTime()]; }