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

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

WBOY
WBOYオリジナル
2016-06-13 12:20:11826ブラウズ

1. Smarty キャッシュ設定:
$smarty->cache-dir="ディレクトリ名"; //キャッシュ ディレクトリ名を作成します
$smarty->caching=true; //キャッシュを有効にします。キャッシュが無効です
$smarty->cache_lifetime=60; //キャッシュ時間、単位は秒
2、Smarty キャッシュの使用とクリア
$marty->display("cache. tpl",cache_id); //ID のキャッシュを作成します
$marty->gt;clear_all_cache(); //すべてのキャッシュをクリアします
$marty->clear_cache("index.php"); //クリアIndex.php Cache in
$marty->clear_cache("index.php',cache_id); //index.php
3 で指定された ID を持つキャッシュをクリアします。Smarty のローカル キャッシュ
まず: insert _関数はデフォルトではキャッシュされず、この属性は変更できません
使用方法: 例
index.php,
function insert_get_time(){
return date("Y-m-d H:m: s") ;
}
index.html で、
{insert name="get_time"}

2 番目:smarty_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 のプラグイン ディレクトリに配置します
block .cacheless.php の内容は次のとおりです:
function Smarty_block_cacheless($param, $content, &$smarty) {
return $content;
}
?>
2) プログラムとテンプレートを作成します
サンプル プログラム: testCacheLess.php

コードをコピーします コードは次のとおりです。


< ;?php
include('Smarty.class.php');
$smarty = new Smarty-; >caching=true;
$smarty->cache_lifetime = 6;
$smarty->?>使用したテンプレート:cache.tpl
キャッシュ済み: {$smarty.now}

{cacheless}
キャッシュなし: {$smarty.now}

{/cacheless}
4カスタム キャッシュ
キャッシュ
を処理するカスタム関数を使用するには、次のように設定します。
$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
}
通常は md5 ($tpl_file.$cache_id. $compile_id) を唯一のキャッシュ ID として使用します
場合 必要に応じて、gzcompress と gzuncompress を使用して圧縮および解凍できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。