博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
smarty提升
阅读量:5038 次
发布时间:2019-06-12

本文共 1537 字,大约阅读时间需要 5 分钟。

之前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

你可能感兴趣的文章
C语言键盘按键列表
查看>>
Codeforces Round #374 (Div. 2)
查看>>
oracle数据类型
查看>>
socket
查看>>
Vue中使用key的作用
查看>>
二叉索引树 树状数组
查看>>
日志框架--(一)基础篇
查看>>
Java设计模式之原型模式
查看>>
Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子
查看>>
哲理故事与管理之道(20)-用危机激励下属
查看>>
梳理caffe代码common(八)
查看>>
关于源程序到可运行程序的过程
查看>>
linux中的条件变量
查看>>
wepy的使用
查看>>
N3292系列资料之RTC介绍
查看>>
System.ValueTuple 未定義或匯入預先定義的類型
查看>>
Redhat6.4安装Oracle 11gr2 64位 注意事项
查看>>
rpm
查看>>
Finance_books_LTCM
查看>>
QT的setwindowflags的属性总结
查看>>