1*d5ef99ddSAndreas Gohr<?php 2*d5ef99ddSAndreas Gohr 3*d5ef99ddSAndreas Gohr/** 4*d5ef99ddSAndreas Gohr * Device Detector - The Universal Device Detection library for parsing User Agents 5*d5ef99ddSAndreas Gohr * 6*d5ef99ddSAndreas Gohr * @link https://matomo.org 7*d5ef99ddSAndreas Gohr * 8*d5ef99ddSAndreas Gohr * @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later 9*d5ef99ddSAndreas Gohr */ 10*d5ef99ddSAndreas Gohr 11*d5ef99ddSAndreas Gohrdeclare(strict_types=1); 12*d5ef99ddSAndreas Gohr 13*d5ef99ddSAndreas Gohrnamespace DeviceDetector\Cache; 14*d5ef99ddSAndreas Gohr 15*d5ef99ddSAndreas Gohruse Doctrine\Common\Cache\CacheProvider; 16*d5ef99ddSAndreas Gohr 17*d5ef99ddSAndreas Gohrclass DoctrineBridge implements CacheInterface 18*d5ef99ddSAndreas Gohr{ 19*d5ef99ddSAndreas Gohr /** 20*d5ef99ddSAndreas Gohr * @var CacheProvider 21*d5ef99ddSAndreas Gohr */ 22*d5ef99ddSAndreas Gohr private $cache; 23*d5ef99ddSAndreas Gohr 24*d5ef99ddSAndreas Gohr /** 25*d5ef99ddSAndreas Gohr * @param CacheProvider $cache 26*d5ef99ddSAndreas Gohr */ 27*d5ef99ddSAndreas Gohr public function __construct(CacheProvider $cache) 28*d5ef99ddSAndreas Gohr { 29*d5ef99ddSAndreas Gohr $this->cache = $cache; 30*d5ef99ddSAndreas Gohr } 31*d5ef99ddSAndreas Gohr 32*d5ef99ddSAndreas Gohr /** 33*d5ef99ddSAndreas Gohr * @inheritDoc 34*d5ef99ddSAndreas Gohr */ 35*d5ef99ddSAndreas Gohr public function fetch(string $id) 36*d5ef99ddSAndreas Gohr { 37*d5ef99ddSAndreas Gohr return $this->cache->fetch($id); 38*d5ef99ddSAndreas Gohr } 39*d5ef99ddSAndreas Gohr 40*d5ef99ddSAndreas Gohr /** 41*d5ef99ddSAndreas Gohr * @inheritDoc 42*d5ef99ddSAndreas Gohr */ 43*d5ef99ddSAndreas Gohr public function contains(string $id): bool 44*d5ef99ddSAndreas Gohr { 45*d5ef99ddSAndreas Gohr return $this->cache->contains($id); 46*d5ef99ddSAndreas Gohr } 47*d5ef99ddSAndreas Gohr 48*d5ef99ddSAndreas Gohr /** 49*d5ef99ddSAndreas Gohr * @inheritDoc 50*d5ef99ddSAndreas Gohr */ 51*d5ef99ddSAndreas Gohr public function save(string $id, $data, int $lifeTime = 0): bool 52*d5ef99ddSAndreas Gohr { 53*d5ef99ddSAndreas Gohr return $this->cache->save($id, $data, $lifeTime); 54*d5ef99ddSAndreas Gohr } 55*d5ef99ddSAndreas Gohr 56*d5ef99ddSAndreas Gohr /** 57*d5ef99ddSAndreas Gohr * @inheritDoc 58*d5ef99ddSAndreas Gohr */ 59*d5ef99ddSAndreas Gohr public function delete(string $id): bool 60*d5ef99ddSAndreas Gohr { 61*d5ef99ddSAndreas Gohr return $this->cache->delete($id); 62*d5ef99ddSAndreas Gohr } 63*d5ef99ddSAndreas Gohr 64*d5ef99ddSAndreas Gohr /** 65*d5ef99ddSAndreas Gohr * @inheritDoc 66*d5ef99ddSAndreas Gohr */ 67*d5ef99ddSAndreas Gohr public function flushAll(): bool 68*d5ef99ddSAndreas Gohr { 69*d5ef99ddSAndreas Gohr return $this->cache->flushAll(); 70*d5ef99ddSAndreas Gohr } 71*d5ef99ddSAndreas Gohr} 72