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 Illuminate\Support\Facades\Cache; 16*d5ef99ddSAndreas Gohr 17*d5ef99ddSAndreas Gohrclass LaravelCache implements CacheInterface 18*d5ef99ddSAndreas Gohr{ 19*d5ef99ddSAndreas Gohr /** 20*d5ef99ddSAndreas Gohr * @inheritDoc 21*d5ef99ddSAndreas Gohr */ 22*d5ef99ddSAndreas Gohr public function fetch(string $id) 23*d5ef99ddSAndreas Gohr { 24*d5ef99ddSAndreas Gohr return Cache::get($id); 25*d5ef99ddSAndreas Gohr } 26*d5ef99ddSAndreas Gohr 27*d5ef99ddSAndreas Gohr /** 28*d5ef99ddSAndreas Gohr * @inheritDoc 29*d5ef99ddSAndreas Gohr */ 30*d5ef99ddSAndreas Gohr public function contains(string $id): bool 31*d5ef99ddSAndreas Gohr { 32*d5ef99ddSAndreas Gohr return Cache::has($id); 33*d5ef99ddSAndreas Gohr } 34*d5ef99ddSAndreas Gohr 35*d5ef99ddSAndreas Gohr /** 36*d5ef99ddSAndreas Gohr * @inheritDoc 37*d5ef99ddSAndreas Gohr */ 38*d5ef99ddSAndreas Gohr public function save(string $id, $data, int $lifeTime = 0): bool 39*d5ef99ddSAndreas Gohr { 40*d5ef99ddSAndreas Gohr return Cache::put($id, $data, \func_num_args() < 3 ? null : $lifeTime); 41*d5ef99ddSAndreas Gohr } 42*d5ef99ddSAndreas Gohr 43*d5ef99ddSAndreas Gohr /** 44*d5ef99ddSAndreas Gohr * @inheritDoc 45*d5ef99ddSAndreas Gohr */ 46*d5ef99ddSAndreas Gohr public function delete(string $id): bool 47*d5ef99ddSAndreas Gohr { 48*d5ef99ddSAndreas Gohr return Cache::forget($id); 49*d5ef99ddSAndreas Gohr } 50*d5ef99ddSAndreas Gohr 51*d5ef99ddSAndreas Gohr /** 52*d5ef99ddSAndreas Gohr * @inheritDoc 53*d5ef99ddSAndreas Gohr */ 54*d5ef99ddSAndreas Gohr public function flushAll(): bool 55*d5ef99ddSAndreas Gohr { 56*d5ef99ddSAndreas Gohr return Cache::flush(); 57*d5ef99ddSAndreas Gohr } 58*d5ef99ddSAndreas Gohr} 59