source: vendor/psr/cache/src/CacheItemPoolInterface.php@ e3d4e0a

Last change on this file since e3d4e0a was e3d4e0a, checked in by Vlado 222039 <vlado.popovski@…>, 7 days ago

Upload project files

  • Property mode set to 100644
File size: 4.4 KB
Line 
1<?php
2
3namespace Psr\Cache;
4
5/**
6 * CacheItemPoolInterface generates CacheItemInterface objects.
7 *
8 * The primary purpose of Cache\CacheItemPoolInterface is to accept a key from
9 * the Calling Library and return the associated Cache\CacheItemInterface object.
10 * It is also the primary point of interaction with the entire cache collection.
11 * All configuration and initialization of the Pool is left up to an
12 * Implementing Library.
13 */
14interface CacheItemPoolInterface
15{
16 /**
17 * Returns a Cache Item representing the specified key.
18 *
19 * This method must always return a CacheItemInterface object, even in case of
20 * a cache miss. It MUST NOT return null.
21 *
22 * @param string $key
23 * The key for which to return the corresponding Cache Item.
24 *
25 * @throws InvalidArgumentException
26 * If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
27 * MUST be thrown.
28 *
29 * @return CacheItemInterface
30 * The corresponding Cache Item.
31 */
32 public function getItem(string $key): CacheItemInterface;
33
34 /**
35 * Returns a traversable set of cache items.
36 *
37 * @param string[] $keys
38 * An indexed array of keys of items to retrieve.
39 *
40 * @throws InvalidArgumentException
41 * If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException
42 * MUST be thrown.
43 *
44 * @return iterable
45 * An iterable collection of Cache Items keyed by the cache keys of
46 * each item. A Cache item will be returned for each key, even if that
47 * key is not found. However, if no keys are specified then an empty
48 * traversable MUST be returned instead.
49 */
50 public function getItems(array $keys = []): iterable;
51
52 /**
53 * Confirms if the cache contains specified cache item.
54 *
55 * Note: This method MAY avoid retrieving the cached value for performance reasons.
56 * This could result in a race condition with CacheItemInterface::get(). To avoid
57 * such situation use CacheItemInterface::isHit() instead.
58 *
59 * @param string $key
60 * The key for which to check existence.
61 *
62 * @throws InvalidArgumentException
63 * If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
64 * MUST be thrown.
65 *
66 * @return bool
67 * True if item exists in the cache, false otherwise.
68 */
69 public function hasItem(string $key): bool;
70
71 /**
72 * Deletes all items in the pool.
73 *
74 * @return bool
75 * True if the pool was successfully cleared. False if there was an error.
76 */
77 public function clear(): bool;
78
79 /**
80 * Removes the item from the pool.
81 *
82 * @param string $key
83 * The key to delete.
84 *
85 * @throws InvalidArgumentException
86 * If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
87 * MUST be thrown.
88 *
89 * @return bool
90 * True if the item was successfully removed. False if there was an error.
91 */
92 public function deleteItem(string $key): bool;
93
94 /**
95 * Removes multiple items from the pool.
96 *
97 * @param string[] $keys
98 * An array of keys that should be removed from the pool.
99 *
100 * @throws InvalidArgumentException
101 * If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException
102 * MUST be thrown.
103 *
104 * @return bool
105 * True if the items were successfully removed. False if there was an error.
106 */
107 public function deleteItems(array $keys): bool;
108
109 /**
110 * Persists a cache item immediately.
111 *
112 * @param CacheItemInterface $item
113 * The cache item to save.
114 *
115 * @return bool
116 * True if the item was successfully persisted. False if there was an error.
117 */
118 public function save(CacheItemInterface $item): bool;
119
120 /**
121 * Sets a cache item to be persisted later.
122 *
123 * @param CacheItemInterface $item
124 * The cache item to save.
125 *
126 * @return bool
127 * False if the item could not be queued or if a commit was attempted and failed. True otherwise.
128 */
129 public function saveDeferred(CacheItemInterface $item): bool;
130
131 /**
132 * Persists any deferred cache items.
133 *
134 * @return bool
135 * True if all not-yet-saved items were successfully saved or there were none. False otherwise.
136 */
137 public function commit(): bool;
138}
Note: See TracBrowser for help on using the repository browser.