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;//每次执行时,都要检测模板是否改动,如果改动需要重新编译一但进入生产环境,不需要改动,需要将其关闭

            

一萧一剑走江湖,一笑一乐看世界,一切美好的事物我们都需要去用心感受,聆听自然给予我们的欢乐. 小时候觉得长大了多好,可以到外面的世界看一看,可长大了,却向往童年般的生活,没有烦恼,该哭的时候哭,该笑的时候笑,想做什么都可以.即便我们长大了更应该热爱生活懂得爱自己,不要抱怨生活对你的不公,开心的活着比什么都好。 所以在这个有限的时间里,我们需要快乐高兴的活着,活出属于自己的青春.忘记那些不痛快的事情.我们需要梦想来使得我们的人生更有意义. 今天就分享到这里吧,大家可以叫我一萧,可能在以后的日子里,我分享的不仅仅是代码上的事情,因为能让我们感到快乐和高兴并且获得收获的不仅仅是技术层面上的,应该有很多很多
原文地址:https://www.cnblogs.com/ylmfg/p/5487895.html