smarty的最简单示例

最近入职,开始研究公司项目的源码,里面用到了smarty(比较老的技术了),下面我对smarty做一个整理,尽量注释完备一些,争取做到CTRL+C完了直接就能CTRL+V的程度。

嗯,nice。


1、包含smarty类文件,smarty实质就是一个写好的类,包含了直接用就OK了。

include_once("./Smarty/Smarty.class.php"); //包含smarty类文件,用require_once也是可以的,个人认为记忆力好或者逻辑清晰的话完全可以把once去掉
2、把类文件引入之后,就可以创建实例了,之后有关的操作都是利用这个实例完成的。

$smarty = new Smarty(); //建立smarty实例对象$smarty 
3、获得这个实例之后我们可以对这个对象的一些属性进行配置,模板编译的时候会根据这些属性或参数的不同进行编译。这些东西不写也可以,都是有默认值的。

$smarty->templates("./templates"); //设置模板目录,编译的时候smarty会直接到这个目录找模板文件
$smarty->templates_c("./templates_c"); //设置编译目录,smarty进行编译的时候会用到,需要保证可读可写
$smarty->cache("./cache"); //缓存目录,smarty可以设计缓存,在缓存有效期内模板不会被再次编译,而是直接返回缓存文件
$smarty->cache_lifetime = 0; //缓存时间,以秒为单位,-1的时候表示永不过期
$smarty->caching = true; //缓存方式,0不缓存,1根据当前设定的cache_lifetime的值来决定缓存时间,2根据缓存被建立时设置的cache_lifetime的值来决定缓存时间,也可以直接用true或者false来决定是否缓存

$smarty->left_delimiter = "{#"; //设置smarty标签的左边界符,用在模板里,是编译的起点,找到这个符号后smarty开始编译
$smarty->right_delimiter = "#}"; //设置smarty标签的右边界符,用在模板里,是编译的终点,找到这个符号后smarty结束编译

4、初始化工作结束后,就要开始编译了,既然编译的主要工作就是把标签替换成相应的值,那么现在我们需要把相应的值push到smarty里面去(smarty里面的这些值表实际上就是一个数组,KV一一对应的,编译的时候也是遍历一遍这个数组一一替换)。
$smarty->assign("name", "ToyRoy"); //往替换数组里扔一个K是name,而value是ToyRoy的键值对,当模板里有name这个标签的时候,编译时自动替换成ToyRoy 
5、一切就绪,下一步就是把模板里的标签替换成具体的内容了,即开始编译。

$smarty->display("index.htm"); //这一步会应用上面的配置来编译模版目录下名称为 index.htm的模板并且输出


今天就先写到这里吧,好多内容写得不全,之后补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值