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\Engine;
12: | /**
13: | * Class Registry
14: | */
15: | class Registry {
16: | /**
17: | * @var array<string, object>
18: | */
19: | private array $data = [];
20: |
21: | /**
22: | * __get
23: | *
24: | * https://www.php.net/manual/en/language.oop5.overloading.php#object.get
25: | *
26: | * @param string $key
27: | *
28: | * @return ?object
29: | */
30: | public function __get(string $key): ?object {
31: | return $this->get($key);
32: | }
33: |
34: | /**
35: | * __set
36: | *
37: | * https://www.php.net/manual/en/language.oop5.overloading.php#object.set
38: | *
39: | * @param string $key
40: | * @param object $value
41: | *
42: | * @return void
43: | */
44: | public function __set(string $key, object $value): void {
45: | $this->set($key, $value);
46: | }
47: |
48: | /**
49: | * __isset
50: | *
51: | * https://www.php.net/manual/en/language.oop5.overloading.php#object.set
52: | *
53: | * @param string $key
54: | *
55: | * @return bool
56: | */
57: | public function __isset(string $key): bool {
58: | return $this->has($key);
59: | }
60: |
61: | /**
62: | * Get
63: | *
64: | * @param string $key
65: | *
66: | * @return ?object
67: | */
68: | public function get(string $key): ?object {
69: | return $this->data[$key] ?? null;
70: | }
71: |
72: | /**
73: | * Set
74: | *
75: | * @param string $key
76: | * @param object $value
77: | *
78: | * @return void
79: | */
80: | public function set(string $key, object $value): void {
81: | $this->data[$key] = $value;
82: | }
83: |
84: | /**
85: | * Has
86: | *
87: | * @param string $key
88: | *
89: | * @return bool
90: | */
91: | public function has(string $key): bool {
92: | return isset($this->data[$key]);
93: | }
94: |
95: | /**
96: | * Unset
97: | *
98: | * Unsets registry value by key.
99: | *
100: | * @param string $key
101: | *
102: | * @return void
103: | */
104: | public function unset(string $key): void {
105: | unset($this->data[$key]);
106: | }
107: | }
108: |

OpenCart API API documentation generated by ApiGen dev-master