smarty模板引擎使用文档.pdfVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)

peace0308 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档