Home > php教程 > PHP开发 > body text

Caching application in php smarty template engine

黄舟
Release: 2016-12-14 15:09:58
Original
1168 people have browsed it

1, Smarty cache configuration:

Copy the code as follows:
$smarty->cache-dir="directory name"; //Create cache directory name
$smarty->caching=true; //Enable caching , the cache is invalid when it is false
$smarty->cache_lifetime=60; //Cache time, unit is seconds

2, the use and clearing of Smarty cache

Copy the code code as follows:
$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 Cache in .php
$marty->clear_cache("index.php',cache_id); //Clear the cache with the specified ID in index.php

3, Smarty’s local cache
The first one: insert_function default It is not cached and this attribute cannot be modified.
How to use: Example
index.php,
function insert_get_time(){
return date("Y-m-d H:m:s");
}
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 means that the area is not cached
Template writing method: {name}content{/name}
Written as block plug-in:
1) Define one piece Plug-in function: block.cacheless.php, placed in smarty’s plugins directory
block.cacheless.php’s content is as follows:
function smarty_block_cacheless($param, $content, &$smarty) {
return $content;
}
?>
2) Write programs and templates
Sample program: testCacheLess.php
include('Smarty.class.php');
$smarty = new Smarty;
$smarty-> caching=true;
$smarty->cache_lifetime = 6;
$smarty->display('cache.tpl');
?>
Used template: cache.tpl
Already cached: {$smarty. now}

{cacheless}
No cache: {$smarty.now}
{/cacheless}
4 Custom cache
Set cache_handler_func to use a custom function to handle the cache
For example:
$smarty-> cache_handler_func = "myCache";
function myCache($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null){
}
This function is generally based on $action Determine the current operation of the cache:
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 necessary, you can use gzcompress and gzuncompress to compress and decompress

For more related articles, please pay attention to the PHP Chinese website (www.php.cn)!

Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template