Skip to content

Smarty_CacheResource_Pdo_Gzip

PDO Cache Handler with GZIP support Example usage : $cnx = new PDO("mysql:host=localhost;dbname=mydb", "username", "password"); $smarty->setCachingType('pdo_gzip'); $smarty->loadPlugin('Smarty_CacheResource_Pdo_Gzip'); $smarty->registerCacheResource('pdo_gzip', new Smarty_CacheResource_Pdo_Gzip($cnx, 'smarty_cache'));

Methods

inputContent

Encodes the content before saving to database

protected inputContent(string $content): string

Parameters:

Parameter Type Description
$content string

Return Value:

$content


outputContent

Decodes the content before saving to database

protected outputContent(string $content): string

Parameters:

Parameter Type Description
$content string

Return Value:

$content


Inherited methods

populate

populate Cached Object with meta data from Resource

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

Parameters:

Parameter Type Description
$cached \Smarty_Template_Cached cached object
$_template \Smarty_Internal_Template template object

populateTimestamp

populate Cached Object with timestamp and exists from Resource

public populateTimestamp(\Smarty_Template_Cached $cached): void

Parameters:

Parameter Type Description
$cached \Smarty_Template_Cached

process

Read the cached template and process the header

public process(\Smarty_Internal_Template $_smarty_tpl, \Smarty_Template_Cached $cached = null, bool $update = false): bool

Parameters:

Parameter Type Description
$_smarty_tpl \Smarty_Internal_Template do not change variable name, is used by compiled template
$cached \Smarty_Template_Cached cached object
$update bool flag if called because cache update

Return Value:

true or false if the cached content does not exist


writeCachedContent

Write the rendered template output to cache

public writeCachedContent(\Smarty_Internal_Template $_template, string $content): bool

Parameters:

Parameter Type Description
$_template \Smarty_Internal_Template template object
$content string content to cache

Return Value:

success


readCachedContent

Read cached template from cache

public readCachedContent(\Smarty_Internal_Template $_template): string|bool

Parameters:

Parameter Type Description
$_template \Smarty_Internal_Template template object

Return Value:

content


getCachedContent

Return cached content

public getCachedContent(\Smarty_Internal_Template $_template): null|string

Parameters:

Parameter Type Description
$_template \Smarty_Internal_Template template object

clearAll

Empty cache

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

Parameters:

Parameter Type Description
$smarty \Smarty Smarty object
$exp_time int expiration time (number of seconds, not timestamp)

Return Value:

number of cache files deleted


clear

Empty cache for a specific template

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

Parameters:

Parameter Type Description
$smarty \Smarty Smarty object
$resource_name string template name
$cache_id string cache id
$compile_id string compile id
$exp_time int expiration time (number of seconds, not timestamp)

Return Value:

number of cache files deleted

Throws:


locked

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

Parameters:

Parameter Type Description
$smarty \Smarty
$cached \Smarty_Template_Cached

hasLock

Check is cache is locked for this template

public hasLock(\Smarty $smarty, \Smarty_Template_Cached $cached): bool

Parameters:

Parameter Type Description
$smarty \Smarty Smarty object
$cached \Smarty_Template_Cached cached object

Return Value:

true or false if cache is locked


acquireLock

Lock cache for this template

public acquireLock(\Smarty $smarty, \Smarty_Template_Cached $cached): bool|void

Parameters:

Parameter Type Description
$smarty \Smarty Smarty object
$cached \Smarty_Template_Cached cached object

releaseLock

Unlock cache for this template

public releaseLock(\Smarty $smarty, \Smarty_Template_Cached $cached): bool|void

Parameters:

Parameter Type Description
$smarty \Smarty Smarty object
$cached \Smarty_Template_Cached cached object

load

Load Cache Resource Handler

public static load(\Smarty $smarty, string $type = null): \Smarty_CacheResource
  • This method is static.

Parameters:

Parameter Type Description
$smarty \Smarty Smarty object
$type string name of the cache resource

Return Value:

Cache Resource Handler

Throws:


fetch

fetch cached content and its modification time from data source

protected fetch(string $id, string $name, string|null $cache_id, string|null $compile_id, string& $content, int& $mtime): void

Parameters:

Parameter Type Description
$id string unique cache content identifier
$name string template name
$cache_id string|null cache id
$compile_id string|null compile id
$content string cached content
$mtime int cache modification timestamp (epoch)

fetchTimestamp

Fetch cached content's modification timestamp from data source {@internal implementing this method is optional.

protected fetchTimestamp(string $id, string $name, string $cache_id, string $compile_id): int|bool

Only implement it if modification times can be accessed faster than loading the complete cached content.}}

Parameters:

Parameter Type Description
$id string unique cache content identifier
$name string template name
$cache_id string cache id
$compile_id string compile id

Return Value:

timestamp (epoch) the template was modified, or false if not found


save

Save content to cache

protected save(string $id, string $name, string|null $cache_id, string|null $compile_id, int|null $exp_time, string $content): bool

Parameters:

Parameter Type Description
$id string unique cache content identifier
$name string template name
$cache_id string|null cache id
$compile_id string|null compile id
$exp_time int|null seconds till expiration time in seconds or null
$content string content to cache

Return Value:

success


delete

Delete content from cache

protected delete(string|null $name = null, string|null $cache_id = null, string|null $compile_id = null, int|null|-1 $exp_time = null): int

Parameters:

Parameter Type Description
$name string|null template name
$cache_id string|null cache id
$compile_id string|null compile id
$exp_time int|null|-1 seconds till expiration or null

Return Value:

number of deleted caches


__construct

Constructor

public __construct(\PDO $pdo, string $table, string $database = null): mixed

Parameters:

Parameter Type Description
$pdo \PDO PDO : active connection
$table string : table (or view) name
$database string : optional - if table is located in another db

Throws:


fillStatementsWithTableName

Fills the table name into the statements.

protected fillStatementsWithTableName(): $this

Return Value:

Current Instance


getFetchStatement

Gets the fetch statement, depending on what you specify

protected getFetchStatement(string $columns, string $id, string|null $cache_id = null, string|null $compile_id = null): \PDOStatement

Parameters:

Parameter Type Description
$columns string : the column(s) name(s) you want to retrieve from the database
$id string unique cache content identifier
$cache_id string|null cache id
$compile_id string|null compile id

inputContent

Encodes the content before saving to database

protected inputContent(string $content): string

Parameters:

Parameter Type Description
$content string

Return Value:

$content


outputContent

Decodes the content before saving to database

protected outputContent(string $content): string

Parameters:

Parameter Type Description
$content string

Return Value:

$content


getTableName

Gets the formatted table name

protected getTableName(): string


Automatically generated on 2025-03-18