<?php namespace Automattic\WooCommerce\Caching; /** * Implementation of CacheEngine that uses the built-in WordPress cache. */ class WpCacheEngine implements CacheEngine { public const CACHE_GROUP_NAME = 'wc-object-cache'; // phpcs:disable Squiz.Commenting.FunctionComment.Missing public function get_cached_object( string $key ) { $value = wp_cache_get( $key, self::CACHE_GROUP_NAME ); return false === $value ? null : $value; } public function cache_object( string $key, $object, int $expiration ): bool { return wp_cache_set( $key, $object, self::CACHE_GROUP_NAME, $expiration ); } public function delete_cached_object( string $key ): bool { return wp_cache_delete( $key, self::CACHE_GROUP_NAME ); } public function is_cached( string $key ): bool { return false !== wp_cache_get( $key, self::CACHE_GROUP_NAME ); } // phpcs:enable Squiz.Commenting.FunctionComment.Missing }