ホームページ > php教程 > PHP开发 > PHP Smartyテンプレートエンジンでのアプリケーションのキャッシュ

PHP Smartyテンプレートエンジンでのアプリケーションのキャッシュ

黄舟
リリース: 2016-12-14 15:09:58
オリジナル
1199 人が閲覧しました

1、Smarty キャッシュの設定:

次のようにコードをコピーします:
$smarty->cache-dir="ディレクトリ名"; //キャッシュ ディレクトリ名を作成します
$smarty->caching=true; 、 false の場合、キャッシュは無効です
$smarty->cache_lifetime=60; //キャッシュ時間、単位は秒です

2、Smarty キャッシュの使用とクリア

次のようにコードをコピーします:
$ marty->display( "cache.tpl",cache_id); //ID でキャッシュを作成
$marty->clear_all_cache() //すべてのキャッシュをクリア
$marty->clear_cache("index.php") ); //.php のインデックス キャッシュをクリアします
$marty->clear_cache("index.php',cache_id); //index.php 内の指定された ID のキャッシュをクリアします

3、Smarty のローカル キャッシュ
1 つ目1 つ: insert_function のデフォルト キャッシュされず、この属性は変更できません。
使用方法: 例
index.php,
function insert_get_time(){
return date("Y-m-d H:m:s")
}
index .html,
{ insert name="get_time"}

Second:smarty_block
ブロックを定義する:smarty_block_name($params,$content, &$smarty){return $content;} //nameはエリア名を表す
ブロックを登録:$smarty- >register_block('name', 'smarty_block_name', false); // 3 番目のパラメータ false は、領域がキャッシュされないことを意味します
テンプレートの書き込みメソッド: {name}content{/name}
ブロックプラグとして書き込みます-in:
1) 単一のプラグイン関数を定義します: block.cacheless.php、smarty のプラグイン ディレクトリに配置されます
block.cacheless.php の内容は次のとおりです:
function Smarty_block_cacheless($param, $content , &$smarty) {
return $content;
}
?>
2) プログラムとテンプレートを作成します
サンプル プログラム: testCacheLess.php
include('Smarty.class.php');
$smarty->cache_lifetime = 6;
$smarty->display('cache.tpl');
使用されたテンプレート: キャッシュ。 tpl
すでにキャッシュされています: {$smarty.now}

{cacheless}
キャッシュなし: {$smarty.now}
{/cacheless}
4 カスタム キャッシュ
カスタム関数を使用してキャッシュを処理するように、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"://read キャッシュ コンテンツ
case "write"://write キャッシュ
case "clear": //clear
}
通常、cache_id として md5 ($tpl_file.$cache_id.$compile_id) を使用します
必要に応じて、gzcompress と gzuncompress を使用して圧縮および解凍できます

その他の関連記事については、PHP に注意してください中国語のウェブサイト (www.php.cn)!

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート