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
Interfaces, Classes and Traits
- 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.
Table of Contents
- $createCacheItem : mixed
- $file : mixed
- $keys : mixed
- $values : mixed
- $valuesCache : mixed
- __construct() : mixed
- clear() : bool
- Deletes all items in the pool.
- commit() : bool
- {@inheritdoc}
- create() : CacheItemPoolInterface
- This adapter takes advantage of how PHP stores arrays in its latest versions.
- deleteItem() : bool
- {@inheritdoc}
- deleteItems() : bool
- {@inheritdoc}
- get() : mixed
- Fetches a value from the pool or computes it if not found.
- getItem() : CacheItem
- Returns a Cache Item representing the specified key.
- getItems() : Traversable<string, CacheItem>
- Returns a traversable set of cache items.
- hasItem() : bool
- {@inheritdoc}
- save() : bool
- {@inheritdoc}
- saveDeferred() : bool
- {@inheritdoc}
- warmUp() : array<string|int, string>
- Store an array of cached values.
- generateItems() : Generator
- initialize() : mixed
- Load the cache file.
Properties
$createCacheItem
private
static mixed
$createCacheItem
$file
private
mixed
$file
$keys
private
mixed
$keys
$values
private
mixed
$values
$valuesCache
private
static 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
Return values
mixed —clear()
Deletes all items in the pool.
public
clear([string $prefix = '' ]) : bool
Parameters
- $prefix : string = ''
Return values
bool —commit()
{@inheritdoc}
public
commit() : bool
Return values
bool —create()
This adapter takes advantage of how PHP stores arrays in its latest versions.
public
static create(string $file, CacheItemPoolInterface $fallbackPool) : CacheItemPoolInterface
Parameters
- $file : string
-
The PHP file were values are cached
- $fallbackPool : CacheItemPoolInterface
-
A pool to fallback on when an item is not hit
Return values
CacheItemPoolInterface —deleteItem()
{@inheritdoc}
public
deleteItem(mixed $key) : bool
Parameters
- $key : mixed
Return values
bool —deleteItems()
{@inheritdoc}
public
deleteItems(array<string|int, mixed> $keys) : bool
Parameters
- $keys : array<string|int, mixed>
Return values
bool —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 ]) : mixed
Parameters
- $key : string
-
The key of the item to retrieve from the cache
- $callback : callable
-
Should return the computed value for the given key/item
- $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
mixed —getItem()
Returns a Cache Item representing the specified key.
public
getItem(mixed $key) : CacheItem
Parameters
- $key : mixed
Return values
CacheItem —getItems()
Returns a traversable set of cache items.
public
getItems([array<string|int, mixed> $keys = [] ]) : Traversable<string, CacheItem>
Parameters
- $keys : array<string|int, mixed> = []
Return values
Traversable<string, CacheItem> —hasItem()
{@inheritdoc}
public
hasItem(mixed $key) : bool
Parameters
- $key : mixed
Return values
bool —save()
{@inheritdoc}
public
save(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
Return values
bool —saveDeferred()
{@inheritdoc}
public
saveDeferred(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
Return values
bool —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 —initialize()
Load the cache file.
private
initialize() : mixed