Repository
class Repository implements ArrayAccess, Repository mixin Store (View source)
Traits
Properties
| static protected array | $macros | The registered string macros. | from Macroable |
| protected Store | $store | The cache store implementation. | |
| protected Dispatcher|null | $events | The event dispatcher implementation. | |
| protected int|null | $default | The default number of seconds to store items. | |
| protected array | $config | The cache store configuration options. |
Methods
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Given a start time, format the total run time for human readability.
Mix another object into the class.
Dynamically handle calls to the class.
Handle dynamic calls into macros or pass missing methods to the store.
Determine if an item exists in the cache.
Determine if an item doesn't exist in the cache.
Retrieve an item from the cache by key.
Retrieve multiple items from the cache by key.
{@inheritdoc}
Handle a result for the "many" method.
Retrieve an item from the cache and delete it.
Store an item in the cache.
{@inheritdoc}
Store multiple items in the cache for a given number of seconds.
Store multiple items in the cache indefinitely.
{@inheritdoc}
Store an item in the cache if the key does not exist.
Increment the value of an item in the cache.
Decrement the value of an item in the cache.
Store an item in the cache indefinitely.
No description
Remove an item from the cache.
{@inheritdoc}
{@inheritdoc}
{@inheritdoc}
Begin executing a new tags operation if the store supports it.
Format the key for a cache item.
Calculate the number of seconds for the given TTL.
Get the name of the cache store.
Determine if the current store supports tags.
Get the default cache time.
Set the default cache time in seconds.
Fire an event for this cache instance.
Get the event dispatcher instance.
Determine if a cached value exists.
Retrieve an item from the cache by key.
Store an item in the cache for the default time.
Remove an item from the cache.
Clone cache repository instance.
Details
protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)
Get the number of seconds until the given DateTime.
protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Get the "available at" UNIX timestamp.
protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)
If the given value is an interval, convert it to a DateTime instance.
protected int currentTime()
Get the current system time as a UNIX timestamp.
protected string runTimeForHumans(float $startTime, float|null $endTime = null)
Given a start time, format the total run time for human readability.
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
static void flushMacros()
Flush the existing macros.
static mixed __callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed __call(string $method, array $parameters)
Handle dynamic calls into macros or pass missing methods to the store.
__construct(Store $store, array $config = [])
Create a new cache repository instance.
bool has(array|string $key)
Determine if an item exists in the cache.
bool missing(string $key)
Determine if an item doesn't exist in the cache.
mixed get(array|string $key, mixed $default = null)
Retrieve an item from the cache by key.
array many(array $keys)
Retrieve multiple items from the cache by key.
Items not found in the cache will have a null value.
iterable getMultiple($keys, $default = null)
{@inheritdoc}
protected mixed handleManyResult(array $keys, string $key, mixed $value)
Handle a result for the "many" method.
pull($key, $default = null)
Retrieve an item from the cache and delete it.
bool put(string $key, mixed $value, DateTimeInterface|DateInterval|int|null $ttl = null)
Store an item in the cache.
bool set($key, $value, $ttl = null)
{@inheritdoc}
bool putMany(array $values, DateTimeInterface|DateInterval|int|null $ttl = null)
Store multiple items in the cache for a given number of seconds.
protected bool putManyForever(array $values)
Store multiple items in the cache indefinitely.
bool setMultiple($values, $ttl = null)
{@inheritdoc}
bool add(string $key, mixed $value, DateTimeInterface|DateInterval|int|null $ttl = null)
Store an item in the cache if the key does not exist.
int|bool increment(string $key, mixed $value = 1)
Increment the value of an item in the cache.
int|bool decrement(string $key, mixed $value = 1)
Decrement the value of an item in the cache.
bool forever(string $key, mixed $value)
Store an item in the cache indefinitely.
remember($key, $ttl, Closure $callback)
No description
sear($key, Closure $callback)
No description
rememberForever($key, Closure $callback)
No description
flexible($key, $ttl, $callback, $lock = null, $alwaysDefer = false)
No description
bool forget(string $key)
Remove an item from the cache.
bool delete($key)
{@inheritdoc}
bool deleteMultiple($keys)
{@inheritdoc}
bool clear()
{@inheritdoc}
TaggedCache tags(mixed $names)
Begin executing a new tags operation if the store supports it.
protected string itemKey(string $key)
Format the key for a cache item.
protected int getSeconds(DateTimeInterface|DateInterval|int $ttl)
Calculate the number of seconds for the given TTL.
string|null getName()
Get the name of the cache store.
bool supportsTags()
Determine if the current store supports tags.
int|null getDefaultCacheTime()
Get the default cache time.
$this setDefaultCacheTime(int|null $seconds)
Set the default cache time in seconds.
Store getStore()
Get the cache store implementation.
Repository setStore(Store $store)
Set the cache store implementation.
protected void event(object|string $event)
Fire an event for this cache instance.
Dispatcher|null getEventDispatcher()
Get the event dispatcher instance.
void setEventDispatcher(Dispatcher $events)
Set the event dispatcher instance.
bool offsetExists(string $key)
Determine if a cached value exists.
mixed offsetGet(string $key)
Retrieve an item from the cache by key.
void offsetSet(string $key, mixed $value)
Store an item in the cache for the default time.
void offsetUnset(string $key)
Remove an item from the cache.
void __clone()
Clone cache repository instance.