Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung der Anwendung der PHP-Datei-Caching-Smarty-Vorlage

Ausführliche Erläuterung der Anwendung der PHP-Datei-Caching-Smarty-Vorlage

黄舟
黄舟Original
2017-03-14 16:30:291296Durchsuche

1. Cache verwenden
Um den Cache von smarty zu aktivieren, setzen Sie einfach den Cache auf „true“ und geben Sie cache_dir an.
Verwenden Sie „cache_lefetime“, um die Cache-Überlebenszeit (Einheit) anzugeben beträgt Sekunden
Um mehrere verschiedene Caches für dieselbe Seite zu generieren, fügen Sie den zweiten Parameter „cache_id“ zu „display“ oder „fetch“ hinzu, z $_GETs 2. Cache leeren

$smarty->display('index.tpl',$my_cache_id);


3. Benutzerdefinierte Caching-Methode verwenden

Cache_handler_func so einstellen, dass die benutzerdefinierte

Funktion
clear_all_cache();//清除所有缓存
clear_cache('index.tpl');//清除index.tpl的缓存
clear_cache('index.tpl',cache_id);//清除指定id的缓存
verwendet wird Behandelt den Cache

wie zum Beispiel:

Diese Funktion basiert im Allgemeinen auf 椐$action, um den aktuellen Betrieb des Caches zu bestimmen:

$smarty->cache_handler_func = "myCache";
function myCache($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null){
}
Im Allgemeinen

md5
($tpl_file.$cache_id.$compile_id) als eindeutige Cache_ID verwenden

Bei Bedarf können Sie gzcompress und gzuncompress zum Komprimieren und Dekomprimieren verwenden
switch($action){
case "read"://读取缓存内容
case "write"://写入缓存
case "clear"://清空
}

Viertens, Teilweise drehen Aus dem Cache
Um den Cache in bestimmten Bereichen (nur im erforderlichen Cache) ungültig zu machen, gibt es mehrere Methoden:
Einfügen:
Definieren Sie die Verarbeitung, die von einer Funktion zum Einfügen von Tags verwendet werden soll , das Format des Funktionsnamens ist: insert_xx(array $params,
object

&$smarty) wobei xx der Name der Einfügung ist, d. h. wenn die von Ihnen definierte Funktion insert_abc ist, die Verwendungsmethode in der Die Vorlage lautet: {insert name='abc'. Die Parameter werden über $params übergeben. Sie können auch in ein Einfüge-Plugin umgewandelt werden. Der Dateiname lautet: insert.xx.PHP Die Funktion heißt: smarty_insert_aa($params,&$smarty ), xx Definition ist die gleiche wie oben

register_block:

geschrieben als Block-Plug-in:
1) Definieren Sie eine Plug-in-Funktion: block.cacheless.php und platzieren Sie sie im Plugins-Verzeichnis von smarty
Der Inhalt von block.cacheless.php lautet wie folgt:

定义一个block:smarty_block_name($params,$content, &$smarty){return $content;} //name表示区域名
注册block:$smarty->register_block('name', 'smarty_block_name', false); //第三参数false表示该区域不被缓存
模板写法:{name}内容{/name}

2 ) Programme und Vorlagen schreiben
Beispielprogramm: testCacheLess.php

<?php
function smarty_block_cacheless($param, $content, &$smarty) {
     return $content;
}
?>
Verwendete Vorlage: Cache.tpl


Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Anwendung der PHP-Datei-Caching-Smarty-Vorlage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn