1: | <?php
2: | /**
3: | * @package OpenCart
4: | *
5: | * @author Daniel Kerr
6: | * @copyright Copyright (c) 2005 - 2022, OpenCart, Ltd. (https://www.opencart.com/)
7: | * @license https://opensource.org/licenses/GPL-3.0
8: | *
9: | * @see https://www.opencart.com
10: | */
11: | namespace Opencart\System\Library;
12: | /**
13: | * Class Cache
14: | */
15: | class Cache {
16: | /**
17: | * @var object
18: | */
19: | private object $adaptor;
20: |
21: | /**
22: | * Constructor
23: | *
24: | * @param string $adaptor the type of storage for the cache
25: | * @param int $expire Optional parameters
26: | */
27: | public function __construct(string $adaptor, int $expire = 3600) {
28: | $class = 'Opencart\System\Library\Cache\\' . $adaptor;
29: |
30: | if (class_exists($class)) {
31: | $this->adaptor = new $class($expire);
32: | } else {
33: | throw new \Exception('Error: Could not load cache adaptor ' . $adaptor . ' cache!');
34: | }
35: | }
36: |
37: | /**
38: | * Get
39: | *
40: | * Gets a cache by key name.
41: | *
42: | * @param string $key The cache key name
43: | *
44: | * @return mixed
45: | */
46: | public function get(string $key) {
47: | return $this->adaptor->get($key);
48: | }
49: |
50: | /**
51: | * Set
52: | *
53: | * Sets a cache by key value.
54: | *
55: | * @param string $key The cache key
56: | * @param mixed $value The cache value
57: | * @param int $expire The cache expiry
58: | *
59: | * @return void
60: | */
61: | public function set(string $key, $value, int $expire = 0): void {
62: | $this->adaptor->set($key, $value, $expire);
63: | }
64: |
65: | /**
66: | * Delete
67: | *
68: | * Deletes a cache by key name.
69: | *
70: | * @param string $key The cache key
71: | *
72: | * @return void
73: | */
74: | public function delete(string $key): void {
75: | $this->adaptor->delete($key);
76: | }
77: | }
78: |

OpenCart API API documentation generated by ApiGen dev-master