12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
- * SPDX-License-Identifier: AGPL-3.0-only
- */
- namespace OC\Memcache;
- /**
- * @template-implements \ArrayAccess<string,mixed>
- */
- abstract class Cache implements \ArrayAccess, \OCP\ICache {
- /**
- * @var string $prefix
- */
- protected $prefix;
- /**
- * @param string $prefix
- */
- public function __construct($prefix = '') {
- $this->prefix = $prefix;
- }
- /**
- * @return string Prefix used for caching purposes
- */
- public function getPrefix() {
- return $this->prefix;
- }
- /**
- * @param string $key
- * @return mixed
- */
- abstract public function get($key);
- /**
- * @param string $key
- * @param mixed $value
- * @param int $ttl
- * @return mixed
- */
- abstract public function set($key, $value, $ttl = 0);
- /**
- * @param string $key
- * @return mixed
- */
- abstract public function hasKey($key);
- /**
- * @param string $key
- * @return mixed
- */
- abstract public function remove($key);
- /**
- * @param string $prefix
- * @return mixed
- */
- abstract public function clear($prefix = '');
- //implement the ArrayAccess interface
- public function offsetExists($offset): bool {
- return $this->hasKey($offset);
- }
- public function offsetSet($offset, $value): void {
- $this->set($offset, $value);
- }
- /**
- * @return mixed
- */
- #[\ReturnTypeWillChange]
- public function offsetGet($offset) {
- return $this->get($offset);
- }
- public function offsetUnset($offset): void {
- $this->remove($offset);
- }
- }
|