上海花千坊

php语言

php-smarty模版引擎中的缓存应用

时间:2024-04-23 15:53:15 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模版引擎中的缓存应用】上海花千坊相关的文章:

PHP 中九大缓存技术总结03-19

在Linux系统中如何清除squid的缓存11-21

PHP缓存技术12-11

CPU缓存的作用12-05

php缓存技术经典总结03-29

php页面缓存实现方法11-27

Dreamweaver中应用CSS的技巧12-02

关于Dreamweaver中模板的应用02-28

Photoshop中色彩应用的小技巧11-16