- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
smarty模板引擎使用文档
Smarty 的使用
一.准备Smarty 源文件(libs)
二.引入Smarty.class.php 文件
include ./smarty/Smarty.class.php;
三.实例化Smarty 类
四.创建模板目录,并设置模板文件
使用:Smarty 模板语法
限定符 {}
功能标签: 模板文件引入模板文件 {include file=header.tpl}
数据标签:
修改Smarty 限定符.
打开Smary.class.php 文件
有哪些信誉好的足球投注网站 $left_delimiter = { $right_delimiter = }
替换为想要的即可.
使用:
修改编译文件目录 (把默认的templates_c 目录给改了)
修改 Smarty.class.php 文件:
有哪些信誉好的足球投注网站 $compile_dir = ./templates_c/;
改为想要的即可.
无需,手动创建目录,程序会自动递归的创建.
Smarty 处理数据.
1.分配数据到模板 $smarty-assign(key,value)
2.使用
注意: 分配数据一定要在display()步骤前分配.
快速入门:
Smarty 流程控制
foreach 语法:
{foreach $arr as $key=$val}
{$val}
{/foreach}
快速入门:
foreach else
语法:
{foreach $use_list as $key=$val}
{$val}br
{foreachelse}
没有匹配的值
{/foreach}
快速入门:
foreachelse 相当于:
smarty 的for 循环的使用
语法:
{for $i=value to int_value step $step_value}
循环体...
{/for}
其中:$i=初始值 int_value 是终值 step 步长
快速入门:
for 循环的max 值 (最多执行几次) 注:max 小写
语法:
{for $var = 初始值 to 尾值 step 步长 max= 最大执行次数}
{$var}
{/for}
快速入门:
Smarty 的if elseif esle 分支
语法:
{if 条件表达式}
执行语句块1...
{elseif 条件表达式}
执行语句块2
{else}
执行语句块3
{/if}
快速入门:
变量调节器
首行缩进:第一个参数是缩进长度,第三个参数是缩进符号.
转换为HTML 实体编码,是防止XSS(cross site script) 跨站脚本
危险的有效途径.
(将所有的用户填写的数据,在页面上展示前都转为HTML)
转为url 编码
url 中只能出现ASCII 码,所以,url 中要出现的字符要转码为
url 码.
浏览器在请求时,都能把url 中的字符自动转为ASCII 码.
如果请求端不能自动转码,就需要我们转码.
转码不是加密,也不是转义.
变量调节器的叠加使用.
语法: {$variable|调节器|调节器}
典型的情况:防止XSS,通过会将 escape:html 作为最后一个
调节器来使用.
Smarty 内置标签函数
1.include 语法:
{include file=URL.tpl}
快速入门:
模板继承
inclode 的缺点:几乎所有的功能模块都要载入.
解决这个缺点就要继承的.
新的模板继承的方式,来处理模板间的重复问题:
原理:
先使用布局模板,规范整体的布局.具体的功能模板,继承布局
模板,将布局模板中,需要变化的(父类的抽象方法)的地方填
充上去.
语法:
Block,用于描述 需要填充的块.
Extends 子模板继承父模板
快速入门:
注:模板的主目录是以设置的template 目录.
重写的发生:
一旦子模板跟布局模板的block 的 name 相同,则被重写.
反之不重写.
更加灵活的:
append 在父模板中追加内容
prepend 子模板在前,父模板内容在后
快速入门:
Smarty 加载配置文件:
1.首先设置配置文件的目录:
Smarty 允许将模板中可变的部分提取,作为配置项来使用
将配置文件,存放在配置目录中.
$smarty-config_dir=配置文件的目录
2.在模板文件加载配置文件:
{config_load file
文档评论(0)