3 namespace seekat\API\Call\Cache\Service
;
5 use http\Client\Response
;
6 use Psr\Cache\CacheItemInterface
;
7 use Psr\Cache\CacheItemPoolInterface
;
8 use seekat\API\Call\Cache\Service
;
10 final class ItemPool
implements Service
13 * @var CacheItemPoolInterface
18 * @var CacheItemInterface
22 public function __construct(CacheItemPoolInterface
$cache) {
23 $this->cache
= $cache;
26 public function fetch(string $key, Response
&$response = null) : bool {
27 $this->item
= $this->cache
->getItem($key);
28 if ($this->item
->isHit()) {
29 $response = $this->item
->get();
35 public function store(string $key, Response
$response) : bool {
36 $this->item
->set($response);
37 return $this->cache
->save($this->item
);
40 public function clear() {
41 $this->cache
->clear();