ホームページ >バックエンド開発 >PHPチュートリアル >Smarty キャッシングに関連するアプリケーション

Smarty キャッシングに関連するアプリケーション

WBOY
WBOYオリジナル
2016-07-25 09:10:281035ブラウズ
  1. $smarty->cache-dir="ディレクトリ名"; //キャッシュディレクトリ名を作成します
  2. $smarty->caching=true; //キャッシュを有効にします。
  3. $smarty- >cache_lifetime=60; //キャッシュ時間、単位は秒です
コードをコピーします
2. Smarty キャッシュを使用してクリアします

$marty->display("cache.tpl",cache_id); //ID でキャッシュを作成します
    $marty->clear_all_cache(); //すべてのキャッシュをクリアします
  1. $marty-> clear_cache("index.php"); //index.php のキャッシュをクリアします
  2. $marty->clear_cache("index.php',cache_id); //index.php の指定された ID のキャッシュをクリアします
  3. コードをコピー
3. Smarty のローカル キャッシュ 1 つ目: insert_ 関数はデフォルトではキャッシュされず、この属性は変更できません。 使用方法: 例 インデックス.php、

function insert_get_time(){
    return date("Y-m-d H:m:s");
  1. }
index.htmlのコードをコピーし、

{insert name="get_time"}
  1. コードをコピー
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) {
  • return $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} {/キャッシュレス} 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){
    1. }
    2. コードをコピー
    この関数は通常、$action に基づいてキャッシュの現在の操作を決定します。

    switch($action){
      case "read"://キャッシュ内容の読み取り
    1. case "write"://書き込みキャッシュ
    2. case "clear"://clear
    3. }
    4. コード
    通常、cache_id として md5 ($tpl_file.$cache_id.$compile_id) を使用します。 必要に応じて、gzcompress および gzuncompress を使用して圧縮および解凍します。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。