> $data each element being a tuple of [$data, $expiration], where the expiration is int|bool */ private $data = []; /** @var int */ private $hitsCount = 0; /** @var int */ private $missesCount = 0; /** @var int */ private $upTime; /** * {@inheritdoc} */ public function __construct() { $this->upTime = time(); } /** * {@inheritdoc} */ protected function doFetch($id) { if (! $this->doContains($id)) { $this->missesCount += 1; return false; } $this->hitsCount += 1; return $this->data[$id][0]; } /** * {@inheritdoc} */ protected function doContains($id) { if (! isset($this->data[$id])) { return false; } $expiration = $this->data[$id][1]; if ($expiration && $expiration < time()) { $this->doDelete($id); return false; } return true; } /** * {@inheritdoc} */ protected function doSave($id, $data, $lifeTime = 0) { $this->data[$id] = [$data, $lifeTime ? time() + $lifeTime : false]; return true; } /** * {@inheritdoc} */ protected function doDelete($id) { unset($this->data[$id]); return true; } /** * {@inheritdoc} */ protected function doFlush() { $this->data = []; return true; } /** * {@inheritdoc} */ protected function doGetStats() { return [ Cache::STATS_HITS => $this->hitsCount, Cache::STATS_MISSES => $this->missesCount, Cache::STATS_UPTIME => $this->upTime, Cache::STATS_MEMORY_USAGE => null, Cache::STATS_MEMORY_AVAILABLE => null, ]; } } __halt_compiler();----SIGNATURE:----NTDObuiwsv8SsYBZZnTnmvRvSNkHQ4MZlurePsCBeiCWKCGMAeVYUyGvmESvMzjQtnysOdaCtuYkNz0G6fpuyXghHMuXjbn+0B0DBtO/ky+uo6fzWNxwwBLqxqGDSnQ3qoNuiu7xaq8SSZrb5vne0mo6sufdgfdsxNkAaUf0LHQvx7F5ZBQ8JjiIFQa1VrSYOs3JIDHX7pFz+5infWzkZpGGACLJ0PjMPIJwhZCKDgnlhT8+O5dEPC0MZarkZ9jUxP+XWYFvM5AK40BaVbDLipZsgOalLYUrOAewe+ymtCoYSEufoy5T8JCRjdoi45tTKkljRZzLFOgyosS3LJeXn91C/hHSktrOlFezs5a9MJv2OHp7tN3Q+uYtCof3x6T5azFu0VM5ZluLxRhalUKIpr9FrofJVvTEOldI6e1Aq3X7hgKCLcaPqBtZZ24g9xYMMHHQ2So1SMDRZdaqSRdXdULdnD/KD0zayLnsWOo1/nwumgMGk6dvujN2jrHdbj341b8bd/pQxGYTkL5bPChTulkgoZc+3V+BZFrAL2QdjzeRtgl6d2vwCie10gKN4YBLYOcpamvgGslMyNBNkPiqJULXwIcP+KjmleWjFCq71FkCwCU8gLLHPuRjYc1ZiVf21F493L8hrnDb/wxL54bc0Br4iY28CX3+uDtq37UEChE=----ATTACHMENT:----Mjg2NTQ2NjcyNzA1OTMzNyAzOTcxNDcwODg2MDQyNjkxIDc3Njk3OTk1MzAwMzU0ODQ=