硕顺crm后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

39 lines
731 B

<?php
namespace WeWork\ApiCache;
use WeWork\Traits\CacheTrait;
abstract class AbstractApiCache
{
use CacheTrait;
/**
* @return string
*/
abstract protected function getCacheKey(): string;
/**
* @return mixed
*/
abstract protected function getFromServer();
/**
* @param bool $refresh
* @return mixed
* @throws \Psr\SimpleCache\InvalidArgumentException
*/
public function get(bool $refresh = false)
{
$key = $this->getCacheKey();
$value = $this->cache->get($key);
if ($refresh || !$value) {
$value = $this->getFromServer();
$this->cache->set($key, $value, 7100);
}
return $value;
}
}