Cache
extends Base
in package
implements
ArrayAccess
A Cache node in the Caching graph.
Tags
Interfaces, Classes, Traits and Enums
- ArrayAccess
Table of Contents
- $_backend : string
- ENUM 'apc' or 'file'.
- $_file : resource|null
- File handle for the file-backend.
- $_guid : string
- Unique identifier for this cache node.
- $_identifier : string
- Relative identifier for this app.
- $_locked : false|int
- Timestamp of when lock took place or false if not locked.
- $_nodes : array<string|int, Cache>
- Connected nodes.
- $instance : Cache
- The app root node.
- __call() : mixed
- Report that the $method doesn't exist.
- __callStatic() : mixed
- Report that the $method doesn't exist.
- __destruct() : mixed
- __get() : Cache
- Returns a related cache node.
- __set() : mixed
- Report that $property doesn't exist and set the property to the given $value.
- __sleep() : mixed
- __toString() : string
- The object is used as an string.
- clear() : mixed
- Clear the cached value.
- offsetExists() : mixed
- offsetGet() : mixed
- offsetSet() : mixed
- offsetUnset() : mixed
- rootNode() : Cache
- Return the rootnode for the app.
- value() : mixed
- Returns the cached value when valid cache entry was found. otherwise retrieves the value via the $closure, stores it in the cache and returns it.
- __construct() : mixed
- Constructor.
- read() : bool
- Retrieve the value from the cache and set it to the $output value.
- write() : mixed
- Store the value in the cache.
- apcClear() : mixed
- Clear a cached valie.
- apcLock() : mixed
- Obtain a lock for this cache entry.
- apcRead() : bool
- Check if a key has a cached value, and set the value to the $output argument.
- apcUnlock() : mixed
- Remove the lock for this cached entry.
- apcWrite() : mixed
- Store the value in the cache.
- fileCleanup() : mixed
- Cleanup expired cache entries.
- fileClear() : mixed
- fileLock() : mixed
- fileRead() : mixed
- fileUnlock() : mixed
- fileWrite() : mixed
- lock() : mixed
- Obtain a lock for this cached node.
- unlock() : mixed
- Release the lock for this cached node.
Properties
$_backend
ENUM 'apc' or 'file'.
private
string
$_backend
$_file
File handle for the file-backend.
private
resource|null
$_file
$_guid
Unique identifier for this cache node.
private
string
$_guid
$_identifier
Relative identifier for this app.
private
string
$_identifier
$_locked
Timestamp of when lock took place or false if not locked.
private
false|int
$_locked
= false
$_nodes
Connected nodes.
private
array<string|int, Cache>
$_nodes
= []
$instance
The app root node.
private
static Cache
$instance
Methods
__call()
Report that the $method doesn't exist.
public
__call(string $method, array<string|int, mixed> $arguments) : mixed
Parameters
- $method : string
- $arguments : array<string|int, mixed>
Return values
mixed —__callStatic()
Report that the $method doesn't exist.
public
static __callStatic(string $method, array<string|int, mixed> $arguments) : mixed
Parameters
- $method : string
- $arguments : array<string|int, mixed>
Return values
mixed —__destruct()
public
__destruct() : mixed
Return values
mixed —__get()
Returns a related cache node.
public
__get(string $property) : Cache
Parameters
- $property : string
Return values
Cache —__set()
Report that $property doesn't exist and set the property to the given $value.
public
__set(string $property, mixed $value) : mixed
Parameters
- $property : string
- $value : mixed
Return values
mixed —__sleep()
public
__sleep() : mixed
Return values
mixed —__toString()
The object is used as an string.
public
__toString() : string
Return values
string —clear()
Clear the cached value.
public
clear() : mixed
Return values
mixed —offsetExists()
public
offsetExists(mixed $offset) : mixed
Parameters
- $offset : mixed
Return values
mixed —offsetGet()
public
offsetGet(mixed $offset) : mixed
Parameters
- $offset : mixed
Return values
mixed —offsetSet()
public
offsetSet(mixed $offset, mixed $value) : mixed
Parameters
- $offset : mixed
- $value : mixed
Return values
mixed —offsetUnset()
public
offsetUnset(mixed $offset) : mixed
Parameters
- $offset : mixed
Return values
mixed —rootNode()
Return the rootnode for the app.
public
static rootNode() : Cache
Return values
Cache —value()
Returns the cached value when valid cache entry was found. otherwise retrieves the value via the $closure, stores it in the cache and returns it.
public
value(string|int|array<string|int, mixed> $options, callable $closure) : mixed
Parameters
- $options : string|int|array<string|int, mixed>
-
A string or int is interpreted as a 'expires' option. array( 'max_age' => int|string // The entry must be newer than the $maxAge. Example: "-5min", "2012-01-01" 'expires' => int|string, // A string is parsed via strtotime(). Examples: '+5min' or '2020-01-01' int's larger than 3600 (1 hour) are interpreted as unix timestamp expire date. And int's smaller or equal to 3600 are interpreted used as ttl. 'forever' => bool, // Default false (When true no ) 'lock' => (bool) // Default true, Prevents a cache stampede (http://en.wikipedia.org/wiki/Cache_stampede) )
- $closure : callable
-
The method to retrieve/calculate the value.
Return values
mixed —__construct()
Constructor.
protected
__construct(string $identifier, string $backend) : mixed
Parameters
- $identifier : string
- $backend : string
-
ENUM "apc" or "file"
Return values
mixed —read()
Retrieve the value from the cache and set it to the $output value.
protected
read(array<string|int, mixed> &$output[, string|int|null $maxAge = false ]) : bool
Returns true if the cache entry was valid.
Parameters
- $output : array<string|int, mixed>
-
The cached value
- $maxAge : string|int|null = false
-
(optional) The entry must be newer than the $maxAge. Example: "-5min", "2012-01-01"
Return values
bool —write()
Store the value in the cache.
protected
write(mixed $value[, string|int $expires = false ]) : mixed
Parameters
- $value : mixed
-
The value
- $expires : string|int = false
-
expires A string is parsed via strtotime(). Example $expires: '+5min' or '2020-01-01' int's larger than 3600 (1 hour) are interpreted as unix timestamp expire date. And int's smaller or equal to 3600 are interpreted used as ttl.
Return values
mixed —apcClear()
Clear a cached valie.
private
apcClear() : mixed
Return values
mixed —apcLock()
Obtain a lock for this cache entry.
private
apcLock() : mixed
Return values
mixed —apcRead()
Check if a key has a cached value, and set the value to the $output argument.
private
apcRead(mixed &$output) : bool
Parameters
- $output : mixed
Return values
bool —apcUnlock()
Remove the lock for this cached entry.
private
apcUnlock() : mixed
Return values
mixed —apcWrite()
Store the value in the cache.
private
apcWrite(mixed $value[, int $expires = null ]) : mixed
Parameters
- $value : mixed
- $expires : int = null
Return values
mixed —fileCleanup()
Cleanup expired cache entries.
private
static fileCleanup() : mixed
Return values
mixed —fileClear()
private
fileClear() : mixed
Return values
mixed —fileLock()
private
fileLock() : mixed
Return values
mixed —fileRead()
private
fileRead(mixed &$output) : mixed
Parameters
- $output : mixed
Return values
mixed —fileUnlock()
private
fileUnlock() : mixed
Return values
mixed —fileWrite()
private
fileWrite(mixed $value[, mixed $expires = null ]) : mixed
Parameters
- $value : mixed
- $expires : mixed = null
Return values
mixed —lock()
Obtain a lock for this cached node.
private
lock() : mixed
Return values
mixed —unlock()
Release the lock for this cached node.
private
unlock() : mixed