Viewing file: Cache.php (1.47 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * REST API Reports Cache. * * Handles report data object caching. */
namespace Automattic\Kkart\Admin\API\Reports;
defined( 'ABSPATH' ) || exit;
/** * REST API Reports Cache class. */ class Cache { /** * Cache version. Used to invalidate all cached values. */ const VERSION_OPTION = 'kkart_reports';
/** * Invalidate cache. */ public static function invalidate() { \KKART_Cache_Helper::get_transient_version( self::VERSION_OPTION, true ); }
/** * Get cache version number. * * @return string */ public static function get_version() { $version = \KKART_Cache_Helper::get_transient_version( self::VERSION_OPTION );
return $version; }
/** * Get cached value. * * @param string $key Cache key. * @return mixed */ public static function get( $key ) { $transient_version = self::get_version(); $transient_value = get_transient( $key );
if ( isset( $transient_value['value'], $transient_value['version'] ) && $transient_value['version'] === $transient_version ) { return $transient_value['value']; }
return false; }
/** * Update cached value. * * @param string $key Cache key. * @param mixed $value New value. * @return bool */ public static function set( $key, $value ) { $transient_version = self::get_version(); $transient_value = array( 'version' => $transient_version, 'value' => $value, );
$result = set_transient( $key, $transient_value, WEEK_IN_SECONDS );
return $result; } }
|