<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            php-smarty模版引擎中的緩存應用

            時間:2025-03-30 02:27:51 php語言 我要投稿
            • 相關推薦

            php-smarty模版引擎中的緩存應用

              同學們在學習的時候一定要保持足夠耐心,才能把知識學好。以下百分網小編整理的php smarty模版引擎中的緩存應用實例代碼的介紹,希望對大家有所幫助,更多信息請關注應屆畢業生網!

              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"); //清楚index.php中的緩存

              $marty->clear_cache("index.php',cache_id); //清楚index.php中指定ID的緩存

              3,Smarty的局部緩存

              第一個: insert_函數默認是不緩存,這個屬性是不能修改

              使用方法:例子

              index.php中,

              function insert_get_time(){

              return date("Y-m-d H:m:s");

              }

              index.html中,

              {insert name="get_time"}

              第二個: smarty_block

              定義一個block:smarty_block_name($params,$content, &$smarty){return $content;} //name表示區域名

              注冊block:$smarty->register_block('name', 'smarty_block_name', false); //第三參數false表示該區域不被緩存

              模板寫法:{name}內容{/name}

              寫成block插件:

              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 = new Smarty;

              $smarty->caching=true;

              $smarty->cache_lifetime = 6;

              $smarty->display('cache.tpl');

              ?>

              所用的模板:cache.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"://讀取緩存內容

              case "write"://寫入緩存

              case "clear"://清空

              }

              一般使用md5($tpl_file.$cache_id.$compile_id)作為唯一的cache_id

              如果需要,可使用gzcompress和gzuncompress來壓縮和解壓

            【php-smarty模版引擎中的緩存應用】相關文章:

            在Linux系統中如何清除squid的緩存04-01

            PHP中9大緩存技術總結02-11

            PHP 中九大緩存技術總結05-23

            CPU緩存的作用05-29

            java的緩存機制07-29

            PHP緩存技術05-03

            java的緩存機制簡介12-17

            cpu緩存是什么06-03

            php緩存技術經典總結05-27

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看