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 $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.
void
__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)
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(array|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.
protected 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.