Automattic\WooCommerce\Admin\API\Reports
Cache{}
REST API Reports Cache class.
No Hooks.
Usage
$Cache = new Cache(); // use class methods
Methods
- public static get( $key )
- public static get_version()
- public static invalidate()
- public static set( $key, $value )
Cache{} Cache{} code WC 9.6.1
class Cache { /** * Cache version. Used to invalidate all cached values. */ const VERSION_OPTION = 'woocommerce_reports'; /** * Invalidate cache. */ public static function invalidate() { \WC_Cache_Helper::get_transient_version( self::VERSION_OPTION, true ); } /** * Get cache version number. * * @return string */ public static function get_version() { $version = \WC_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; } }