PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > Smarty教程 > 正文

    Smarty中局部缓存的几种方法介绍

    作者:admin来源:111cn.net浏览:时间:2020-09-30 00:07:50我要评论
    导读:有如下3种方法(目前我知道的!):1,insert 法Insert 函数类似欲 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该...
    有如下3种方法(目前我知道的!):

    1,insert 法
    Insert 函数类似欲 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数。比如说我们定义一个显示时间的函数:


    function insert_get_current_time() { return date("H:i:s"); } 

    然后在模板中:

    {insert name="get_current_time"}  
    这样每次打开页面,显示的都是即时时间,而不是缓存的。注意这里的函数名一定要以insert开头,模板中的name与之对应。如果我们的函数包含一些参数,那么我们的在模板中可以这样:


    {insert name="get_current_time" lid=#banner_location_id# sid=#site_id#}

    那么Smarty 调用该函数类似insert_get_current_time(array("lid"=>"12345","sid"=>67890"));


    并将返回的结果显示在调用的位置。

     2,动态block 法
    在smarty代码中:
    function smarty_block_nocache($param,$content,$smarty)    
     {         return $content;     }     
    $smarty->register_block('nocache','smarty_block_nocache',false);
    在模板文件中:
    <{nocache}>    //这里放不需要被缓存的内容 <{/nocache}> 


    3,插件block 法   


     这个跟block差不多,只是我们将其以插件的形式来做。在Smarty/plugins目录下建一个文件:block.nocache.php,这里命名一定要规范,否则smarty识别不了。 内容如下:
    function smarty_block_nocache($param,$content,$smarty)     {         return $content;     }

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-84-349-1.html
    相关热词搜索: Smarty 缓存