1. Utiliser le cache
Pour activer le cache de smarty, définissez simplement le cache sur true et spécifiez cache_dir Utilisez cache_lefetime pour spécifier la durée de survie du cache, l'unité. est en secondes
Pour générer plusieurs caches différents pour la même page, ajoutez le deuxième paramètre cache_id à
display ou récupérez, comme
$smarty->display('index.tpl',$my_cache_id);
2. Vider le cache
clear_all_cache();//清除所有缓存 clear_cache('index.tpl');//清除index.tpl的缓存 clear_cache('index.tpl',cache_id);//清除指定id的缓存
Définir cache_handler_func pour utiliser la fonction
personnalisée gère le cache tel que :
$smarty->cache_handler_func = "myCache"; function myCache($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null){ }
switch($action){ case "read"://读取缓存内容 case "write"://写入缓存 case "clear"://清空 }
md5($tpl_file.$cache_id.$compile_id) comme cache_id uniqueSi nécessaire, vous pouvez utiliser gzcompress et gzuncompress pour compresser et décompresser
Quatre,Tourner partiellement hors du cache
insert :
Définir le traitement à utiliser par une balise d'insertion Fonction , le format du nom de la fonction est : insert_xx(array $params,
object &$smarty) où xx est le nom de l'insertion C'est-à-dire que si la fonction que vous définissez est insert_abc, la méthode d'utilisation dans le. le modèle est : {insert name='abc'}Les paramètres sont transmis via $params
Il peut également être transformé en plug-in d'insertion. Le nom du fichier est : insert.xx.PHP et le. la fonction est nommée : smarty_insert_aa($params,&$smarty ), la définition xx est la même que ci-dessus
register_block :
定义一个block:smarty_block_name($params,$content, &$smarty){return $content;} //name表示区域名 注册block:$smarty->register_block('name', 'smarty_block_name', false); //第三参数false表示该区域不被缓存 模板写法:{name}内容{/name}
1) Définissez une fonction plug-in : block.cacheless.php et placez-la dans le répertoire plugins de smarty
Le contenu de block.cacheless.php est le suivant :
<?php function smarty_block_cacheless($param, $content, &$smarty) { return $content; } ?>
2 ) Écrire des programmes et des modèles
Exemple de programme : testCacheLess.php
<?php include('Smarty.class.php'); $smarty = new Smarty; $smarty->caching=true; $smarty->cache_lifetime = 6; $smarty->display('cache.tpl'); ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!