\Smarty_CacheResource_Apc

APC CacheResource CacheResource Implementation based on the KeyValueStore API to use memcache as the storage resource for Smarty's output caching.

*

Summary

Methods
Properties
Constants
populate()
populateTimestamp()
process()
writeCachedContent()
readCachedContent()
clearAll()
clear()
hasLock()
acquireLock()
releaseLock()
getCachedContent()
locked()
load()
__construct()
No public properties found
No constants found
getTemplateUid()
sanitize()
fetch()
addMetaTimestamp()
getMetaTimestamp()
invalidate()
getLatestInvalidationTimestamp()
listInvalidationKeys()
read()
write()
delete()
purge()
$contents
$timestamps
$sysplugins
N/A
No private methods found
No private properties found
N/A

Properties

$contents

$contents : array

cache for contents

Type

array

$timestamps

$timestamps : array

cache for timestamps

Type

array

$sysplugins

$sysplugins : array

resource types provided by the core

Type

array

Methods

populate()

populate(\Smarty_Template_Cached  $cached, \Smarty_Internal_Template  $_template) : void

populate Cached Object with meta data from Resource

Parameters

\Smarty_Template_Cached $cached

cached object

\Smarty_Internal_Template $_template

template object

populateTimestamp()

populateTimestamp(\Smarty_Template_Cached  $cached) : void

populate Cached Object with timestamp and exists from Resource

Parameters

\Smarty_Template_Cached $cached

process()

process(\Smarty_Internal_Template  $_template, \Smarty_Template_Cached  $cached = null, boolean  $update = false) : boolean

Read the cached template and process header

Parameters

\Smarty_Internal_Template $_template

template object

\Smarty_Template_Cached $cached

cached object

boolean $update

flag if called because cache update

Returns

boolean —

true or false if the cached content does not exist

writeCachedContent()

writeCachedContent(\Smarty_Internal_Template  $_template, string  $content) : boolean

Write the rendered template output to cache

Parameters

\Smarty_Internal_Template $_template

template object

string $content

content to cache

Returns

boolean —

success

readCachedContent()

readCachedContent(\Smarty_Internal_Template  $_template) : string

Read cached template from cache

Parameters

\Smarty_Internal_Template $_template

template object

Returns

string —

content

clearAll()

clearAll(\Smarty  $smarty, integer  $exp_time = null) : integer

Empty cache

Parameters

\Smarty $smarty

Smarty object

integer $exp_time

expiration time (number of seconds, not timestamp)

Returns

integer —

number of cache files deleted

clear()

clear(\Smarty  $smarty, string  $resource_name, string  $cache_id, string  $compile_id, integer  $exp_time) : integer

Empty cache for a specific template

Parameters

\Smarty $smarty

Smarty object

string $resource_name

template name

string $cache_id

cache id

string $compile_id

compile id

integer $exp_time

expiration time (number of seconds, not timestamp)

Returns

integer —

number of cache files deleted

hasLock()

hasLock(\Smarty  $smarty, \Smarty_Template_Cached  $cached) : boolean

Check is cache is locked for this template

Parameters

\Smarty $smarty
\Smarty_Template_Cached $cached

Returns

boolean

acquireLock()

acquireLock(\Smarty  $smarty, \Smarty_Template_Cached  $cached) : boolean

Lock cache for this template

Parameters

\Smarty $smarty
\Smarty_Template_Cached $cached

Returns

boolean

releaseLock()

releaseLock(\Smarty  $smarty, \Smarty_Template_Cached  $cached) : boolean

Unlock cache for this template

Parameters

\Smarty $smarty
\Smarty_Template_Cached $cached

Returns

boolean

getCachedContent()

getCachedContent(\Smarty_Internal_Template  $_template) : null|string

Return cached content

Parameters

\Smarty_Internal_Template $_template

template object

Returns

null|string

locked()

locked(\Smarty  $smarty, \Smarty_Template_Cached  $cached) : boolean|null

Parameters

\Smarty $smarty
\Smarty_Template_Cached $cached

Returns

boolean|null

load()

load(\Smarty  $smarty, string  $type = null) : \Smarty_CacheResource

Load Cache Resource Handler

Parameters

\Smarty $smarty

Smarty object

string $type

name of the cache resource

Throws

\SmartyException

Returns

\Smarty_CacheResource

Cache Resource Handler

__construct()

__construct() 

getTemplateUid()

getTemplateUid(\Smarty  $smarty, string  $resource_name) : string

Get template's unique ID

Parameters

\Smarty $smarty

Smarty object

string $resource_name

template name

Throws

\SmartyException

Returns

string —

filepath of cache file

sanitize()

sanitize(string  $string) : string

Sanitize CacheID components

Parameters

string $string

CacheID component to sanitize

Returns

string —

sanitized CacheID component

fetch()

fetch(string  $cid, string  $resource_name = null, string  $cache_id = null, string  $compile_id = null, string  $content = null,   $timestamp = null, string  $resource_uid = null) : boolean

Fetch and prepare a cache object.

Parameters

string $cid

CacheID to fetch

string $resource_name

template name

string $cache_id

cache id

string $compile_id

compile id

string $content

cached content

$timestamp
string $resource_uid

resource's uid

Returns

boolean —

success

addMetaTimestamp()

addMetaTimestamp(  $content) 

Add current microtime to the beginning of $cache_content {@internal the header uses 8 Bytes, the first 4 Bytes are the seconds, the second 4 Bytes are the microseconds}}

Parameters

$content

getMetaTimestamp()

getMetaTimestamp(  $content) : float

Extract the timestamp the $content was cached

Parameters

$content

Returns

float —

the microtime the content was cached

invalidate()

invalidate(string  $cid = null, string  $resource_name = null, string  $cache_id = null, string  $compile_id = null, string  $resource_uid = null) : void

Invalidate CacheID

Parameters

string $cid

CacheID

string $resource_name

template name

string $cache_id

cache id

string $compile_id

compile id

string $resource_uid

source's uid

getLatestInvalidationTimestamp()

getLatestInvalidationTimestamp(string  $cid, string  $resource_name = null, string  $cache_id = null, string  $compile_id = null, string  $resource_uid = null) : float

Determine the latest timestamp known to the invalidation chain

Parameters

string $cid

CacheID to determine latest invalidation timestamp of

string $resource_name

template name

string $cache_id

cache id

string $compile_id

compile id

string $resource_uid

source's filepath

Returns

float —

the microtime the CacheID was invalidated

listInvalidationKeys()

listInvalidationKeys(string  $cid, string  $resource_name = null, string  $cache_id = null, string  $compile_id = null, string  $resource_uid = null) : array

Translate a CacheID into the list of applicable InvalidationKeys.

Splits "some|chain|into|an|array" into array( '#clearAll#', 'some', 'some|chain', 'some|chain|into', ... )

Parameters

string $cid

CacheID to translate

string $resource_name

template name

string $cache_id

cache id

string $compile_id

compile id

string $resource_uid

source's filepath

Returns

array —

list of InvalidationKeys

read()

read(array  $keys) : array

Read values for a set of keys from cache

Parameters

array $keys

list of keys to fetch

Returns

array —

list of values with the given keys used as indexes

write()

write(array  $keys, integer  $expire = null) : boolean

Save values for a set of keys to cache

Parameters

array $keys

list of values to save

integer $expire

expiration time

Returns

boolean —

true on success, false on failure

delete()

delete(array  $keys) : boolean

Remove values from cache

Parameters

array $keys

list of keys to delete

Returns

boolean —

true on success, false on failure

purge()

purge() : boolean

Remove *all* values from cache

Returns

boolean —

true on success, false on failure