Home  >  Article  >  Backend Development  >  Cache application in php smarty template engine_PHP tutorial

Cache application in php smarty template engine_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:42:37760browse

1. Smarty cache configuration:
$smarty->cache-dir="directory name"; //Create cache directory name
$smarty->caching=true; //Enable caching, which is false When the cache is invalid
$smarty->cache_lifetime=60; //Cache time, the unit is seconds
2, the use and clearing of Smarty cache
$marty->display("cache.tpl", cache_id); //Create a cache with ID
$marty->clear_all_cache(); //Clear all caches
$marty->clear_cache("index.php"); //Clear index.php Cache in
$marty->clear_cache("index.php',cache_id); //Clear the cache with the specified ID in index.php
3, Smarty's local cache
First: insert _The function is not cached by default, and this attribute cannot be modified
How to use: Example
index.php,
function insert_get_time(){
return date("Y-m-d H:m:s") ;
} In
index.html,
{insert name="get_time"}

Second: smarty_block
Define a block: smarty_block_name($params,$content, &$smarty){return $content;} //name represents the area name
Register block:$smarty->register_block('name', 'smarty_block_name', false); //The third parameter false represents that the area is not The cached
template is written as: {name}content{/name}
is written as a block plug-in:
1) Define a plug-in function: block.cacheless.php and place it in smarty's plugins directory
block The content of .cacheless.php is as follows:
function smarty_block_cacheless($param, $content, &$smarty) {
return $content;
}
?>
2) Write programs and templates
Sample program: testCacheLess.php

Copy code The code is as follows:

< ;?php
include('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching=true;
$smarty->cache_lifetime = 6;
$smarty->display('cache.tpl');
?>

Template used: cache.tpl
Cached: {$smarty. now}

{cacheless}
No cache: {$smarty.now}
{/cacheless}
4 Custom cache
Set cache_handler_func to use custom function processing Cache
such as:
$smarty->cache_handler_func = "myCache";
function myCache($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id= null){
}
This function generally determines the current operation of the cache based on $action:
switch($action){
case "read"://read cache content
case "write"://write cache
case "clear"://clear
}
Generally use md5 ($tpl_file.$cache_id.$compile_id) as the only cache_id
If If necessary, you can use gzcompress and gzuncompress to compress and decompress

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/320944.htmlTechArticle1, Smarty cache configuration: $smarty-cache-dir="directory name"; //Create a cache directory Name $smarty-caching=true; //Enable caching. When it is false, the cache will be invalid. $smarty-cache_lifetime=60; //Slow down...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn