Documentation

PhpArrayAdapter
in package
implements AdapterInterface, CacheInterface, PruneableInterface, ResettableInterface uses ContractsTrait, ProxyTrait

Caches items at warm up time using a PHP array that is stored in shared memory by OPCache since PHP 7.0.

Warmed up items are read-only and run-time discovered items are cached using a fallback adapter.

Tags
author

Titouan Galopin galopintitouan@gmail.com

author

Nicolas Grekas p@tchwork.com

Table of Contents

Interfaces

AdapterInterface
Interface for adapters managing instances of Symfony's CacheItem.
CacheInterface
Covers most simple to advanced caching needs.
PruneableInterface
Interface extends psr-6 and psr-16 caches to allow for pruning (deletion) of all expired cache items.
ResettableInterface
Resets a pool's local state.

Properties

$createCacheItem  : Closure
$file  : string
$keys  : array<string|int, mixed>
$values  : array<string|int, mixed>
$valuesCache  : array<string|int, mixed>

Methods

__construct()  : mixed
clear()  : bool
Deletes all items in the pool.
commit()  : bool
Persists any deferred cache items.
create()  : CacheItemPoolInterface
This adapter takes advantage of how PHP stores arrays in its latest versions.
deleteItem()  : bool
Removes the item from the pool.
deleteItems()  : bool
Removes multiple items from the pool.
get()  : T
Fetches a value from the pool or computes it if not found.
getItem()  : CacheItemInterface
Returns a Cache Item representing the specified key.
getItems()  : iterable<string, CacheItem>
Returns a traversable set of cache items.
hasItem()  : bool
Confirms if the cache contains specified cache item.
save()  : bool
Persists a cache item immediately.
saveDeferred()  : bool
Sets a cache item to be persisted later.
warmUp()  : array<string|int, string>
Store an array of cached values.
generateItems()  : Generator
initialize()  : void
Load the cache file.

Properties

$valuesCache

private static array<string|int, mixed> $valuesCache = []

Methods

__construct()

public __construct(string $file, AdapterInterface $fallbackPool) : mixed
Parameters
$file : string

The PHP file were values are cached

$fallbackPool : AdapterInterface

A pool to fallback on when an item is not hit

clear()

Deletes all items in the pool.

public clear([string $prefix = '' ]) : bool
Parameters
$prefix : string = ''
Return values
bool

True if the pool was successfully cleared. False if there was an error.

commit()

Persists any deferred cache items.

public commit() : bool
Return values
bool

True if all not-yet-saved items were successfully saved or there were none. False otherwise.

deleteItem()

Removes the item from the pool.

public deleteItem(mixed $key) : bool
Parameters
$key : mixed

The key to delete.

Return values
bool

True if the item was successfully removed. False if there was an error.

deleteItems()

Removes multiple items from the pool.

public deleteItems(array<string|int, mixed> $keys) : bool
Parameters
$keys : array<string|int, mixed>

An array of keys that should be removed from the pool.

Return values
bool

True if the items were successfully removed. False if there was an error.

get()

Fetches a value from the pool or computes it if not found.

public get(string $key, callable $callback[, float|null $beta = null ][, array<string|int, mixed>|null &$metadata = null ]) : T

On cache misses, a callback is called that should return the missing value. This callback is given a PSR-6 CacheItemInterface instance corresponding to the requested key, that could be used e.g. for expiration control. It could also be an ItemInterface instance when its additional features are needed.

Parameters
$key : string

The key of the item to retrieve from the cache

$callback : callable
$beta : float|null = null

A float that, as it grows, controls the likeliness of triggering early expiration. 0 disables it, INF forces immediate expiration. The default (or providing null) is implementation dependent but should typically be 1.0, which should provide optimal stampede protection. See https://en.wikipedia.org/wiki/Cache_stampede#Probabilistic_early_expiration

$metadata : array<string|int, mixed>|null = null

The metadata of the cached item ItemInterface::getMetadata()

Return values
T

getItem()

Returns a Cache Item representing the specified key.

public getItem(mixed $key) : CacheItemInterface

This method must always return a CacheItemInterface object, even in case of a cache miss. It MUST NOT return null.

Parameters
$key : mixed

The key for which to return the corresponding Cache Item.

Return values
CacheItemInterface

The corresponding Cache Item.

getItems()

Returns a traversable set of cache items.

public getItems([array<string|int, mixed> $keys = [] ]) : iterable<string, CacheItem>
Parameters
$keys : array<string|int, mixed> = []

An indexed array of keys of items to retrieve.

Return values
iterable<string, CacheItem>

hasItem()

Confirms if the cache contains specified cache item.

public hasItem(mixed $key) : bool

Note: This method MAY avoid retrieving the cached value for performance reasons. This could result in a race condition with CacheItemInterface::get(). To avoid such situation use CacheItemInterface::isHit() instead.

Parameters
$key : mixed

The key for which to check existence.

Return values
bool

True if item exists in the cache, false otherwise.

saveDeferred()

Sets a cache item to be persisted later.

public saveDeferred(CacheItemInterface $item) : bool
Parameters
$item : CacheItemInterface

The cache item to save.

Return values
bool

False if the item could not be queued or if a commit was attempted and failed. True otherwise.

warmUp()

Store an array of cached values.

public warmUp(array<string|int, mixed> $values) : array<string|int, string>
Parameters
$values : array<string|int, mixed>

The cached values

Return values
array<string|int, string>

A list of classes to preload on PHP 7.4+

generateItems()

private generateItems(array<string|int, mixed> $keys) : Generator
Parameters
$keys : array<string|int, mixed>
Return values
Generator

        
On this page

Search results