smarty提升

之前smarty已经初步介绍,下面是对于smarty的一个延伸

一、关于内置标签函数

1、include

语法:{include file="模板文件"} 

案列说明:

      {include file="com/header.html"}

      <body></body>

      {include file="com/footer.html"}

2、关于继承模板

有时候避免重复使用相同的代码,这时候我们考虑继承模板

父模板文件:{include file="com/header.html"}

                <body>

                {block name="content"}

                 这是我父模板文件内容

                {/block}

               </body>

               {include file="com/footer.html"}

子模板文件:{extends file="父模板文件" append}

               {block name="content}

               这是我子模板文件内容

               {/block}

特别说明:append表示追加的意思,将父模板的内容追加到子模板内容之前

            prepend表示将父模板的内容追加到子模板之后

3、加载配置文件 config_load

  语法:{config_load file="配置文件名"}

特别说明:在配置时候你的config_dir='./config'下要有你的配置文件名,并且你的变量名要与模板文件中的{#变量名#}保持一致

4、literal :原样输出,如果被它包裹,那么不会依据smarty语法正确解析这样可以避免javascript脚本输出

5、assign:为了简化输出不是为了生成数据

二、缓存系统

1、smarty运行原理:先进行编译(smarty+html)形成编译文件(html+php)执行html

2、将生存好的html文件暂时存起来,如果模板没有发生改变,直接使用缓存即可

3、缓存的基本逻辑:先判断是否存在缓存,有直接使用,没有的话处理业务逻辑,执行模板文件生成缓存展示

4、基本属性

$smarty->caching//开启缓存

特别说明:SMARTY::CACHING_LIFETIME_CRRENT

            SMARTY::CACHING_LIFETIME_SAVED

都表示开启缓存的意思,但会影响对有效期的判定

$smary->cache_lifetime//缓存有效期

方法:$smarty->is_Cached("模板文件")

$smarty->cache_dir//缓存的目录

5、不缓存

{nocache}

这里表示你不需要缓存的内容

{/nocache}

6、单模板多缓存,我们可以给它增加一个标识符$id

is_Cached("模板文件",$id) 

display("模板文件",$id)

7、清除缓存

(1)、clearAllCache()//表示全部清除缓存

(2)、clearCache(null)//全部清除,但会提示错误

(3)、clearCache("模板文件",1)//表示清除在模板下ID为1的缓存内容

(4)、clearCache(null,1)//表示清除所有Id为1的缓存内容

(5)、clearCache("模板文件")//表示清除该模板文件所有的缓存内容

8、生产环境配置

$smarty->force_compile=false;//强制编译,每次执行从smarty到php+html的混编

$smarty->compile_check=fasle;//每次执行时,都要检测模板是否改动,如果改动需要重新编译一但进入生产环境,不需要改动,需要将其关闭

 

 

 

 

 

            

 

posted @ 2016-05-12 23:48  意灵魔法馆  阅读(144)  评论(0编辑  收藏  举报