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 $events

The event dispatcher implementation.

protected int|null $default

The default number of seconds to store items.

Methods

int
secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

int
currentTime()

Get the current system time as a UNIX timestamp.

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)

Create a new cache repository instance.

bool
has(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(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.

iterable
getMultiple($keys, $default = null)

{@inheritdoc}

mixed
handleManyResult(array $keys, string $key, mixed $value)

Handle a result for the "many" method.

mixed
pull(string $key, mixed $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.

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.

mixed
remember(string $key, DateTimeInterface|DateInterval|int|null $ttl, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result.

mixed
sear(string $key, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result forever.

mixed
rememberForever(string $key, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result forever.

bool
forget(string $key)

Remove an item from the cache.

bool
delete($key)

{@inheritdoc}

bool
deleteMultiple($keys)

{@inheritdoc}

bool
clear()

{@inheritdoc}

tags(array|mixed $names)

Begin executing a new tags operation if the store supports it.

string
itemKey(string $key)

Format the key for a cache item.

int
getSeconds(DateTimeInterface|DateInterval|int $ttl)

Calculate the number of seconds for the given TTL.

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.

getStore()

Get the cache store implementation.

void
event(object|string $event)

Fire an event for this cache instance.

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.

Details

protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

DateTimeInterface|int

protected int currentTime()

Get the current system time as a UNIX timestamp.

Return Value

int

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static void flushMacros()

Flush the existing macros.

Return Value

void

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Handle dynamic calls into macros or pass missing methods to the store.

Parameters

string $method
array $parameters

Return Value

mixed

void __construct(Store $store)

Create a new cache repository instance.

Parameters

Store $store

Return Value

void

bool has(string $key)

Determine if an item exists in the cache.

Parameters

string $key

Return Value

bool

bool missing(string $key)

Determine if an item doesn't exist in the cache.

Parameters

string $key

Return Value

bool

mixed get(string $key, mixed $default = null)

Retrieve an item from the cache by key.

Parameters

string $key
mixed $default

Return Value

mixed

array many(array $keys)

Retrieve multiple items from the cache by key.

Items not found in the cache will have a null value.

Parameters

array $keys

Return Value

array

iterable getMultiple($keys, $default = null)

{@inheritdoc}

Parameters

$keys
$default

Return Value

iterable

protected mixed handleManyResult(array $keys, string $key, mixed $value)

Handle a result for the "many" method.

Parameters

array $keys
string $key
mixed $value

Return Value

mixed

mixed pull(string $key, mixed $default = null)

Retrieve an item from the cache and delete it.

Parameters

string $key
mixed $default

Return Value

mixed

bool put(string $key, mixed $value, DateTimeInterface|DateInterval|int|null $ttl = null)

Store an item in the cache.

Parameters

string $key
mixed $value
DateTimeInterface|DateInterval|int|null $ttl

Return Value

bool

bool set($key, $value, $ttl = null)

{@inheritdoc}

Parameters

$key
$value
$ttl

Return Value

bool

bool putMany(array $values, DateTimeInterface|DateInterval|int|null $ttl = null)

Store multiple items in the cache for a given number of seconds.

Parameters

array $values
DateTimeInterface|DateInterval|int|null $ttl

Return Value

bool

protected bool putManyForever(array $values)

Store multiple items in the cache indefinitely.

Parameters

array $values

Return Value

bool

bool setMultiple($values, $ttl = null)

{@inheritdoc}

Parameters

$values
$ttl

Return Value

bool

bool add(string $key, mixed $value, DateTimeInterface|DateInterval|int|null $ttl = null)

Store an item in the cache if the key does not exist.

Parameters

string $key
mixed $value
DateTimeInterface|DateInterval|int|null $ttl

Return Value

bool

int|bool increment(string $key, mixed $value = 1)

Increment the value of an item in the cache.

Parameters

string $key
mixed $value

Return Value

int|bool

int|bool decrement(string $key, mixed $value = 1)

Decrement the value of an item in the cache.

Parameters

string $key
mixed $value

Return Value

int|bool

bool forever(string $key, mixed $value)

Store an item in the cache indefinitely.

Parameters

string $key
mixed $value

Return Value

bool

mixed remember(string $key, DateTimeInterface|DateInterval|int|null $ttl, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result.

Parameters

string $key
DateTimeInterface|DateInterval|int|null $ttl
Closure $callback

Return Value

mixed

mixed sear(string $key, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result forever.

Parameters

string $key
Closure $callback

Return Value

mixed

mixed rememberForever(string $key, Closure $callback)

Get an item from the cache, or execute the given Closure and store the result forever.

Parameters

string $key
Closure $callback

Return Value

mixed

bool forget(string $key)

Remove an item from the cache.

Parameters

string $key

Return Value

bool

bool delete($key)

{@inheritdoc}

Parameters

$key

Return Value

bool

bool deleteMultiple($keys)

{@inheritdoc}

Parameters

$keys

Return Value

bool

bool clear()

{@inheritdoc}

Return Value

bool

TaggedCache tags(array|mixed $names)

Begin executing a new tags operation if the store supports it.

Parameters

array|mixed $names

Return Value

TaggedCache

Exceptions

BadMethodCallException

protected string itemKey(string $key)

Format the key for a cache item.

Parameters

string $key

Return Value

string

protected int getSeconds(DateTimeInterface|DateInterval|int $ttl)

Calculate the number of seconds for the given TTL.

Parameters

DateTimeInterface|DateInterval|int $ttl

Return Value

int

bool supportsTags()

Determine if the current store supports tags.

Return Value

bool

int|null getDefaultCacheTime()

Get the default cache time.

Return Value

int|null

$this setDefaultCacheTime(int|null $seconds)

Set the default cache time in seconds.

Parameters

int|null $seconds

Return Value

$this

Store getStore()

Get the cache store implementation.

Return Value

Store

protected void event(object|string $event)

Fire an event for this cache instance.

Parameters

object|string $event

Return Value

void

Dispatcher getEventDispatcher()

Get the event dispatcher instance.

Return Value

Dispatcher

void setEventDispatcher(Dispatcher $events)

Set the event dispatcher instance.

Parameters

Dispatcher $events

Return Value

void

bool offsetExists(string $key)

Determine if a cached value exists.

Parameters

string $key

Return Value

bool

mixed offsetGet(string $key)

Retrieve an item from the cache by key.

Parameters

string $key

Return Value

mixed

void offsetSet(string $key, mixed $value)

Store an item in the cache for the default time.

Parameters

string $key
mixed $value

Return Value

void

void offsetUnset(string $key)

Remove an item from the cache.

Parameters

string $key

Return Value

void

void __clone()

Clone cache repository instance.

Return Value

void