| @@ 240-244 (lines=5) @@ | ||
| 237 | /** | |
| 238 | * @var ExtendedCacheItemInterface $item | |
| 239 | */ | |
| 240 |         if (!array_key_exists($item->getKey(), $this->itemInstances)) { | |
| 241 | $this->itemInstances[ $item->getKey() ] = $item; | |
| 242 |         } else if(spl_object_hash($item) !== spl_object_hash($this->itemInstances[ $item->getKey() ])){ | |
| 243 |             throw new \RuntimeException('Spl object hash mismatches ! You probably tried to save a detached item which has been already retrieved from cache.'); | |
| 244 | } | |
| 245 | ||
| 246 | /** | |
| 247 | * @eventName CacheSaveItem | |
| @@ 271-275 (lines=5) @@ | ||
| 268 | */ | |
| 269 | public function saveDeferred(CacheItemInterface $item) | |
| 270 |     { | |
| 271 |         if (!array_key_exists($item->getKey(), $this->itemInstances)) { | |
| 272 | $this->itemInstances[ $item->getKey() ] = $item; | |
| 273 |         }else if(spl_object_hash($item) !== spl_object_hash($this->itemInstances[ $item->getKey() ])){ | |
| 274 |             throw new \RuntimeException('Spl object hash mismatches ! You probably tried to save a detached item which has been already retrieved from cache.'); | |
| 275 | } | |
| 276 | ||
| 277 | /** | |
| 278 | * @eventName CacheSaveDeferredItem | |
| @@ 409-413 (lines=5) @@ | ||
| 406 | */ | |
| 407 | public function attachItem(CacheItemInterface $item) | |
| 408 |     { | |
| 409 |         if (isset($this->itemInstances[ $item->getKey() ]) && spl_object_hash($item) !== spl_object_hash($this->itemInstances[ $item->getKey() ])) { | |
| 410 |             throw new \LogicException('The item already exists and cannot be overwritten because the Spl object hash mismatches ! You probably tried to re-attach a detached item which has been already retrieved from cache.'); | |
| 411 |         } else { | |
| 412 | $this->itemInstances[ $item->getKey() ] = $item; | |
| 413 | } | |
| 414 | } | |
| 415 | ||
| 416 | ||