ホームページ >バックエンド開発 >PHPチュートリアル >Smarty キャッシングに関連するアプリケーション
$marty->display("cache.tpl",cache_id); //ID でキャッシュを作成します
3. Smarty のローカル キャッシュ
1 つ目: insert_ 関数はデフォルトではキャッシュされず、この属性は変更できません。
使用方法: 例
インデックス.php、
function insert_get_time(){
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 plugins ディレクトリに配置します。
block.cacheless.php の内容は次のとおりです。
function Smarty_block_cacheless($param, $content, &$smarty) {
2) プログラムを書いて、テンプレート
サンプルプログラム:testCacheLess.php
include('Smarty.class.php');
使用するテンプレート:cache.tpl
キャッシュ済み: {$smarty.now}
{キャッシュレス}
キャッシュされていません: {$smarty.now}
{/キャッシュレス}
4. カスタムキャッシュ
カスタム関数を使用してキャッシュを処理するように、cache_handler_func を設定します。
のように:
$smarty->cache_handler_func = "myCache";
この関数は通常、$action に基づいてキャッシュの現在の操作を決定します。
switch($action){
通常、cache_id として md5 ($tpl_file.$cache_id.$compile_id) を使用します。
必要に応じて、gzcompress および gzuncompress を使用して圧縮および解凍します。
|