![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/rector/rector/packages/Caching/ValueObject/Storage/ |
<?php declare (strict_types=1); namespace Rector\Caching\ValueObject\Storage; use Rector\Caching\Contract\ValueObject\Storage\CacheStorageInterface; use Rector\Caching\ValueObject\CacheItem; /** * inspired by https://github.com/phpstan/phpstan-src/blob/560652088406d7461c2c4ad4897784e33f8ab312/src/Cache/MemoryCacheStorage.php */ final class MemoryCacheStorage implements CacheStorageInterface { /** * @var array<string, CacheItem> */ private $storage = []; /** * @return null|mixed */ public function load(string $key, string $variableKey) { if (!isset($this->storage[$key])) { return null; } $item = $this->storage[$key]; if (!$item->isVariableKeyValid($variableKey)) { return null; } return $item->getData(); } /** * @param mixed $data */ public function save(string $key, string $variableKey, $data) : void { $this->storage[$key] = new CacheItem($variableKey, $data); } public function clean(string $key) : void { if (!isset($this->storage[$key])) { return; } unset($this->storage[$key]); } public function clear() : void { $this->storage = []; } }