Smartyのキャッシュ操作スキル_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:39:07
オリジナル
736 人が閲覧しました

1. キャッシュを使用する
Smarty のキャッシュを有効にするには、caching を true に設定し、cache_dir を指定するだけです。
キャッシュの有効期間を秒単位で指定するには、cache_lefetime を使用します
同じページに対して複数の異なるキャッシュを生成するには、$smarty->display(index.tpl,$my_cache_id); のように、表示または取得する 2 番目のパラメーター 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:
に基づいてキャッシュの現在の操作を決定します。 スイッチ($アクション){
case "read"://キャッシュコンテンツの読み取り
case "write"://ライトキャッシュ
ケース「クリア」://クリア
}
通常、md5 ($tpl_file.$cache_id.$compile_id) を唯一のcache_idとして使用します
必要に応じて、gzcompress と gzuncompress を使用して圧縮および解凍します

4. キャッシュを部分的に閉じます

特定の領域のキャッシュ (必要なキャッシュのみ) を無効にするには、いくつかの方法があります:
挿入:
insert タグで使用する処理関数を定義します。関数名の形式は次のとおりです。 insert_xx(array $params, object &$smarty) ここで、xx は insert_abc の名前です。メソッドは {insert name=abc} です
パラメータは $params
を通じて渡されます 挿入プラグインにすることもできます。ファイル名はinsert.xx.php、関数名はsmarty_insert_aa($params,&$smarty)、xxの定義は上記と同じです
register_block:
ブロックを定義します:smarty_block_name($params,$content, &$smarty){return $content;} //nameはエリア名を表します
Register block:$smarty->register_block(name, Smarty_block_name, false); // 3 番目のパラメータ false は、この領域がキャッシュされないことを意味します
テンプレートの作成: {name}content{/name}
ブロックプラグインとして記述:
1) プラグイン関数 block.cacheless.php を定義し、smarty の plugins ディレクトリに配置します
block.cacheless.phpの内容は以下の通りです

関数 Smarty_block_cacheless($param, $content, &$smarty) {
$content を返します;
}
?>

2) プログラムとテンプレートを作成します
サンプルプログラム:testCacheLess.php

include(Smarty.class.php);
$smarty = 新しい Smarty;
$smarty->caching=true;
$smarty->cache_lifetime = 6;
$smarty->display(cache.tpl);
?>

使用したテンプレート:cache.tpl

キャッシュ済み: {$smarty.now}

{キャッシュレス}
キャッシュされていません:{$smarty.now}
{/キャッシュレス}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486427.html技術記事 1. キャッシュを使用します。smarty のキャッシュを有効にするには、cache_dir を指定し、同じページに対して複数のページを生成するには、cache_lefetime を使用します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!