| Server IP : 123.56.80.60 / Your IP : 216.73.216.78 Web Server : Apache/2.4.54 (Win32) OpenSSL/1.1.1s PHP/7.4.33 mod_fcgid/2.3.10-dev System : Windows NT iZhx3sob14hnz7Z 10.0 build 14393 (Windows Server 2016) i586 User : SYSTEM ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/site/20241224/spunner/wp-content/plugins/wp-statistics/src/Traits/ |
Upload File : |
<?php
namespace WP_Statistics\Traits;
/**
* Trait to handle caching logic.
* @doc https://github.com/wp-statistics/wp-statistics/wiki/TransientCacheTrait.md
*/
trait TransientCacheTrait
{
/**
* Get the cache key for the given input.
*
* @param string $input
*
* @return string
*/
public function getCacheKey($input)
{
$hash = substr(md5($input), 0, 10);
return sprintf('wp_statistics_cache_%s', $hash);
}
/**
* Get the cached result for the given input.
*
* @param string $input
*
* @return mixed
*/
public function getCachedResult($input)
{
$cacheKey = $this->getCacheKey($input);
return get_transient($cacheKey);
}
/**
* Set the cached result for the given input.
*
* @param string $input
* @param mixed $result
* @param int $expiration Expiration time for the cache in seconds.
*
* @return bool
*/
public function setCachedResult($input, $result, $expiration = DAY_IN_SECONDS)
{
$cacheKey = $this->getCacheKey($input);
return set_transient($cacheKey, $result, $expiration * 24);
}
/**
* Clear the cached result for the given query.
*
* @param string $query
*
* @return bool
*/
public function clearCache($query)
{
$cacheKey = $this->getCacheKey($query);
return delete_transient($cacheKey);
}
}