- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
模板引擎——Smarty下
目录
TOC\o1-3\h\z\u模板引擎——Smarty下 1
一、内建函数 2
1、if…elseif…else…if 2
2、ldelim、rdelim 2
3、literal 3
4、php 3
5、section 4
6、strip 6
二、自定义函数(plugins) 7
1、counter 7
2、cycle 8
3、debug 8
4、fetch 9
5、html_image 10
6、html_table 10
7、html_checkboxes复选框 10
8、html_options 11
9、html_radios 11
三、综合案例——PHP+Smarty完成数据分页 12
1、数据库设计 12
2、设计HTML界面(ok) 12
3、编写程序 12
四、程序篇 13
1、常量 13
2、变量 13
3、常用方法 14
五、缓存篇 17
1、Smarty中的缓存 17
2、使用Smarty缓存 17
3、缓存作用 17
4、缓存文件从“何”而来? 18
5、Smarty工作原理图 18
6、isCached方法 18
7、清除缓存 19
8、单页面多缓存 19
9、缓存集合 20
10、局部缓存 20
六、过滤器 22
1、什么是过滤器 22
2、验证过滤器的存在 22
七、整合Smarty到MVC 23
一、内建函数
1、if…elseif…else…if
基本语法
{if}
{elseif}
{else}
{/if}
功能:实现if选择结构
示例代码:
运行结果:写代码
2、ldelim、rdelim
{ldelim}
{rdelim}
功能:输出Smarty标签的左右分界符
示例代码:
运行效果:
3、literal
基本语法:
{literal}
内容(css代码或js代码)
{/literal}
功能:literal标签区域内的数据将被当作文本处理,此时模板将忽略其内部的所有字符信息.该特性用于显示有可能包含大括号等字符信息的css或javascript脚本.当这些信息处于{literal}{/literal}标签中时,模板引擎将不分析它们,而直接显示.
示例代码:
效果如下:
4、php
基本语法
{php}
php代码
{/php}
功能:允许我们在Smarty模板引擎中使用php代码(但不推荐使用)
在Smarty3.0该语法已经废除,如要使用,请使用SmartyBC入口
示例:
效果:2015-02-1100:00:00
5、section
基本语法:
{sectionname=名称loop=循环数组(次数)start=开始(0)step=步阶(1)max=最大循环次数}
{sectionelse}
{/section}
功能:实现对数组(索引从0开始且连续)的遍历
参数说明:
loop:要遍历的数组
name:每次遍历时,系统会将遍历索引放入name中
start:默认开始的索引
step:步阶或步调,默认为1
max:最大循环次数
示例代码:
例1:遍历一维数组
运行结果:
section与foreach对比:
foreach可以实现对数组进行遍历,且每次遍历后,会将遍历的内容保存在item选项中,其是真正意义上的遍历数组。类似于PHP中的foreach循环
section也可以实现对数组的遍历,但每次循环时,系统只是通过loop确定数组中元素个数并确定循环次数,并将循环索引放入name选项中,其并不是真正意义上的遍历数组,只是类似于PHP代码中的for循环而已。
例2:section参数使用
效果如下:
例3:section遍历二维数组
运行结果:
section附加属性
{$.index}:循环索引,默认从0开始
{$.index_prev}:当前索引的上一次索引
{$.index_next}:当前索引的下一次索引
{$.iteration}:第几次循环(迭代)
{$.first}:当第一次循环时,条件为真
{$.last}:当最后一次循环时,条件为真
{$.total}:循环的总次数
示例代码:
运行效果:
6、strip
{strip}
格式化代码
{/strip}
功能:去除元素的首尾空格及换行
示例代码:
运行效果:
鼠标右键查看源代码:
二、自定义函数(plugins)
1、counter
基本语法
{counters
文档评论(0)