$sysplugins
$sysplugins : array
resource types provided by the core
PDO Cache Handler Allows you to store Smarty Cache files into your db.
Example table :
CREATE TABLE smarty_cache
(
id
char(40) NOT NULL COMMENT 'sha1 hash',
name
varchar(250) NOT NULL,
cache_id
varchar(250) DEFAULT NULL,
compile_id
varchar(250) DEFAULT NULL,
modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
expire
timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
content
mediumblob NOT NULL,
PRIMARY KEY (id
),
KEY name
(name
),
KEY cache_id
(cache_id
),
KEY compile_id
(compile_id
),
KEY modified
(modified
),
KEY expire
(expire
)
) ENGINE=InnoDB
Example usage :
$cnx = new PDO("mysql:host=localhost;dbname=mydb", "username", "password");
$smarty->setCachingType('pdo');
$smarty->loadPlugin('Smarty_CacheResource_Pdo');
$smarty->registerCacheResource('pdo', new Smarty_CacheResource_Pdo($cnx, 'smarty_cache'));
populate(\Smarty_Template_Cached $cached, \Smarty_Internal_Template $_template) : void
populate Cached Object with meta data from Resource
\Smarty_Template_Cached | $cached | cached object |
\Smarty_Internal_Template | $_template | template object |
populateTimestamp(\Smarty_Template_Cached $cached) : void
populate Cached Object with timestamp and exists from Resource
\Smarty_Template_Cached | $cached |
process(\Smarty_Internal_Template $_template, \Smarty_Template_Cached $cached = null, boolean $update = false) : boolean
Read the cached template and process header
\Smarty_Internal_Template | $_template | template object |
\Smarty_Template_Cached | $cached | cached object |
boolean | $update | flag if called because cache update |
true or false if the cached content does not exist
writeCachedContent(\Smarty_Internal_Template $_template, string $content) : boolean
Write the rendered template output to cache
\Smarty_Internal_Template | $_template | template object |
string | $content | content to cache |
success
readCachedContent(\Smarty_Internal_Template $_template) : string
Read cached template from cache
\Smarty_Internal_Template | $_template | template object |
content
clearAll(\Smarty $smarty, integer $exp_time = null) : integer
Empty cache
\Smarty | $smarty | Smarty object |
integer | $exp_time | expiration time (number of seconds, not timestamp) |
number of cache files deleted
clear(\Smarty $smarty, string $resource_name, string $cache_id, string $compile_id, integer $exp_time) : integer
Empty cache for a specific template
\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) |
number of cache files deleted
hasLock(\Smarty $smarty, \Smarty_Template_Cached $cached) : boolean
Check is cache is locked for this template
\Smarty | $smarty | |
\Smarty_Template_Cached | $cached |
acquireLock(\Smarty $smarty, \Smarty_Template_Cached $cached) : boolean
Lock cache for this template
\Smarty | $smarty | |
\Smarty_Template_Cached | $cached |
releaseLock(\Smarty $smarty, \Smarty_Template_Cached $cached) : boolean
Unlock cache for this template
\Smarty | $smarty | |
\Smarty_Template_Cached | $cached |
getCachedContent(\Smarty_Internal_Template $_template) : null|string
Return cached content
\Smarty_Internal_Template | $_template | template object |
locked(\Smarty $smarty, \Smarty_Template_Cached $cached) : boolean|null
\Smarty | $smarty | |
\Smarty_Template_Cached | $cached |
load(\Smarty $smarty, string $type = null) : \Smarty_CacheResource
Load Cache Resource Handler
\Smarty | $smarty | Smarty object |
string | $type | name of the cache resource |
Cache Resource Handler
fetch(string $id, string $name, string|null $cache_id = null, string|null $compile_id = null, string $content, integer $mtime) : void
fetch cached content and its modification time from data source
string | $id | unique cache content identifier |
string | $name | template name |
string|null | $cache_id | cache id |
string|null | $compile_id | compile id |
string | $content | cached content |
integer | $mtime | cache modification timestamp (epoch) |
fetchTimestamp(string $id, string $name, string $cache_id, string $compile_id) : integer|boolean
Fetch cached content's modification timestamp from data source {@internal implementing this method is optional.
Only implement it if modification times can be accessed faster than loading the complete cached content.}}
string | $id | unique cache content identifier |
string | $name | template name |
string | $cache_id | cache id |
string | $compile_id | compile id |
timestamp (epoch) the template was modified, or false if not found
save(string $id, string $name, string|null $cache_id = null, string|null $compile_id = null, integer|null $exp_time, string $content) : boolean
Save content to cache
string | $id | unique cache content identifier |
string | $name | template name |
string|null | $cache_id | cache id |
string|null | $compile_id | compile id |
integer|null | $exp_time | seconds till expiration time in seconds or null |
string | $content | content to cache |
success
delete(string|null $name = null, string|null $cache_id = null, string|null $compile_id = null, integer|null|\-1 $exp_time = null) : integer
Delete content from cache
string|null | $name | template name |
string|null | $cache_id | cache id |
string|null | $compile_id | compile id |
integer|null|\-1 | $exp_time | seconds till expiration or null |
number of deleted caches