ホームページ >バックエンド開発 >PHPチュートリアル >PHPファイルキャッシュsmartyテンプレートの応用の詳細説明
1. キャッシュを使用する
smarty のキャッシュを有効にするには、キャッシュを true に設定し、cache_dir を指定するだけです。
cache_lefetime を使用して、同じページに対して複数のキャッシュを生成します。 、
displayに2番目のパラメータcache_idを追加するか、
$smarty->display('index.tpl',$my_cache_id);などのフェッチを行います。この機能は、さまざまな$_GETをキャッシュするために使用できます
2. キャッシュをクリアします
clear_all_cache();//清除所有缓存 clear_cache('index.tpl');//清除index.tpl的缓存 clear_cache('index.tpl',cache_id);//清除指定id的缓存3. カスタマイズを使用します キャッシュメソッド cache_handler_funcを次のように設定しますカスタム
関数 を使用して、次のようなキャッシュ を処理します。
$smarty->cache_handler_func = "myCache"; function myCache($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null){ }この関数は通常 $action に基づいて、キャッシュの現在の操作を決定します。
switch($action){ case "read"://读取缓存内容 case "write"://写入缓存 case "clear"://清空 }通常は
md5($tpl_file. $cache_id) を使用します。 .$compile_id) を唯一のキャッシュ ID として使用します必要に応じて、gzcompress と gzuncompress を使用して圧縮と解凍を行うことができます
4 つ目は、キャッシュを部分的にオフにする
insert:
insert タグで使用される処理関数を定義します。関数名の形式は次のとおりです: insert_xx (array $params,
object &$smarty) ここで、xx は挿入の名前、つまり if定義された関数は insert_abc で、テンプレート内の使用方法は $params を通じて渡されます。ファイル名は次のとおりです。 insert.xx.PHP、関数の名前はsmarty_insert_aa($params,&$smarty)、xxは上記のように定義されていますregister_block:
定义一个block:smarty_block_name($params,$content, &$smarty){return $content;} //name表示区域名 注册block:$smarty->register_block('name', 'smarty_block_name', false); //第三参数false表示该区域不被缓存 模板写法:{name}内容{/name}
<?php function smarty_block_cacheless($param, $content, &$smarty) { return $content; } ?>
<?php include('Smarty.class.php'); $smarty = new Smarty; $smarty->caching=true; $smarty->cache_lifetime = 6; $smarty->display('cache.tpl'); ?>
已经缓存的:{$smarty.now}<br>{cacheless} 没有缓存的:{$smarty.now}{/cacheless}
以上がPHPファイルキャッシュsmartyテンプレートの応用の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。