diff options
Diffstat (limited to 'vendor/psr/cache/src/CacheItemInterface.php')
-rw-r--r-- | vendor/psr/cache/src/CacheItemInterface.php | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/vendor/psr/cache/src/CacheItemInterface.php b/vendor/psr/cache/src/CacheItemInterface.php new file mode 100644 index 0000000..2b2e4bb --- /dev/null +++ b/vendor/psr/cache/src/CacheItemInterface.php | |||
@@ -0,0 +1,105 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Psr\Cache; | ||
4 | |||
5 | /** | ||
6 | * CacheItemInterface defines an interface for interacting with objects inside a cache. | ||
7 | * | ||
8 | * Each Item object MUST be associated with a specific key, which can be set | ||
9 | * according to the implementing system and is typically passed by the | ||
10 | * Cache\CacheItemPoolInterface object. | ||
11 | * | ||
12 | * The Cache\CacheItemInterface object encapsulates the storage and retrieval of | ||
13 | * cache items. Each Cache\CacheItemInterface is generated by a | ||
14 | * Cache\CacheItemPoolInterface object, which is responsible for any required | ||
15 | * setup as well as associating the object with a unique Key. | ||
16 | * Cache\CacheItemInterface objects MUST be able to store and retrieve any type | ||
17 | * of PHP value defined in the Data section of the specification. | ||
18 | * | ||
19 | * Calling Libraries MUST NOT instantiate Item objects themselves. They may only | ||
20 | * be requested from a Pool object via the getItem() method. Calling Libraries | ||
21 | * SHOULD NOT assume that an Item created by one Implementing Library is | ||
22 | * compatible with a Pool from another Implementing Library. | ||
23 | */ | ||
24 | interface CacheItemInterface | ||
25 | { | ||
26 | /** | ||
27 | * Returns the key for the current cache item. | ||
28 | * | ||
29 | * The key is loaded by the Implementing Library, but should be available to | ||
30 | * the higher level callers when needed. | ||
31 | * | ||
32 | * @return string | ||
33 | * The key string for this cache item. | ||
34 | */ | ||
35 | public function getKey(): string; | ||
36 | |||
37 | /** | ||
38 | * Retrieves the value of the item from the cache associated with this object's key. | ||
39 | * | ||
40 | * The value returned must be identical to the value originally stored by set(). | ||
41 | * | ||
42 | * If isHit() returns false, this method MUST return null. Note that null | ||
43 | * is a legitimate cached value, so the isHit() method SHOULD be used to | ||
44 | * differentiate between "null value was found" and "no value was found." | ||
45 | * | ||
46 | * @return mixed | ||
47 | * The value corresponding to this cache item's key, or null if not found. | ||
48 | */ | ||
49 | public function get(): mixed; | ||
50 | |||
51 | /** | ||
52 | * Confirms if the cache item lookup resulted in a cache hit. | ||
53 | * | ||
54 | * Note: This method MUST NOT have a race condition between calling isHit() | ||
55 | * and calling get(). | ||
56 | * | ||
57 | * @return bool | ||
58 | * True if the request resulted in a cache hit. False otherwise. | ||
59 | */ | ||
60 | public function isHit(): bool; | ||
61 | |||
62 | /** | ||
63 | * Sets the value represented by this cache item. | ||
64 | * | ||
65 | * The $value argument may be any item that can be serialized by PHP, | ||
66 | * although the method of serialization is left up to the Implementing | ||
67 | * Library. | ||
68 | * | ||
69 | * @param mixed $value | ||
70 | * The serializable value to be stored. | ||
71 | * | ||
72 | * @return static | ||
73 | * The invoked object. | ||
74 | */ | ||
75 | public function set(mixed $value): static; | ||
76 | |||
77 | /** | ||
78 | * Sets the expiration time for this cache item. | ||
79 | * | ||
80 | * @param ?\DateTimeInterface $expiration | ||
81 | * The point in time after which the item MUST be considered expired. | ||
82 | * If null is passed explicitly, a default value MAY be used. If none is set, | ||
83 | * the value should be stored permanently or for as long as the | ||
84 | * implementation allows. | ||
85 | * | ||
86 | * @return static | ||
87 | * The called object. | ||
88 | */ | ||
89 | public function expiresAt(?\DateTimeInterface $expiration): static; | ||
90 | |||
91 | /** | ||
92 | * Sets the expiration time for this cache item. | ||
93 | * | ||
94 | * @param int|\DateInterval|null $time | ||
95 | * The period of time from the present after which the item MUST be considered | ||
96 | * expired. An integer parameter is understood to be the time in seconds until | ||
97 | * expiration. If null is passed explicitly, a default value MAY be used. | ||
98 | * If none is set, the value should be stored permanently or for as long as the | ||
99 | * implementation allows. | ||
100 | * | ||
101 | * @return static | ||
102 | * The called object. | ||
103 | */ | ||
104 | public function expiresAfter(int|\DateInterval|null $time): static; | ||
105 | } | ||