模板管理.ppt

上传人:本田雅阁 文档编号:2380578 上传时间:2019-03-25 格式:PPT 页数:23 大小:798.01KB
返回 下载 相关 举报
模板管理.ppt_第1页
第1页 / 共23页
模板管理.ppt_第2页
第2页 / 共23页
模板管理.ppt_第3页
第3页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《模板管理.ppt》由会员分享,可在线阅读,更多相关《模板管理.ppt(23页珍藏版)》请在三一文库上搜索。

1、模板管理 ThinkPHP模板,讲师:马明,模板管理,ThinkPHP模板引擎 模板变量、函数 模板标签 引入标签库 模板配置,,ThinkPHP模板引擎,ThinkPHP内置了一个基于XML的性能卓越的模板引擎 ThinkTemplate,这是一个专门为ThinkPHP服务的内置模板引擎。ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。,,模板的概念,模板是可复用代码的衍生概念。 模板分离HTML部分,程序里体现的是完全的业务逻辑。 模板可以轻松实现更换网站皮肤,进行改版;方便制作不同语言版本。

2、模板提高开发速度和性能,使修改、维护更方便。 模板支持缓存技术,实现网页的静态化,,模板变量,在Action中使用assign方法可以给模板变量赋值 $name = ThinkPHP; $this-assign(name,$name); 使用内置的模板引擎输出变量,只需要在模版文件使用: $name 模板编译后的结果就是 ,,变量的使用,ThinkPHP变量来源 从PHP分配的变量,使用assign分配 系统变量 路径替换变量 模板中使用变量 $name $username 、 $usersubname $user:name 、 $user:sub:name $user.name 、$user

3、.sub.name /TMPL_VAR_IDENTIFY $Think.server.script_name $Think.get.pageNumber ,,变量输出快捷标签,为了使得模板定义更加简洁 var /输出Session变量 和 $Think.session.var 等效 #var /输出Cookie变量 和 $Think.cookie.var 等效 &var /输出配置参数 和 $Think.config.var 等效 %var /输出语言变量 和 $Think.lang.var 等效 .var /输出GET变量 和 $Think.get.var 等效 var /输出POST变量

4、和$Think.post.var 等效 *var /输出常量和 $Think.const.var 等效 var1.var2/输出$_SESSIONvar1var2 #var1.var2/输出$_COOKIEvar1var2,,模板替换,默认的替换规则有 /Public: 会被替换成当前项目的公共模板目录 通常是 /项目目录/Tpl/default/Public/ _PUBLIC_:会被替换成当前网站的公共目录 通常是 /Public/ _TMPL_: 会替换成项目的模板目录 通常是 /项目目录/Tpl/default/ _ROOT_: 会替换成当前网站的地址(不含域名) _APP_: 会替换成

5、当前项目的URL地址 (不含域名) _URL_: 会替换成当前模块的URL地址(不含域名) _ACTION_:会替换成当前操作的URL地址 (不含域名) _SELF_: 会替换成当前的页面URL 注意这些特殊的字符串是严格区别大小写的,并且可以更改或者增加的,配置文件中配置TMPL_PARSE_STRING就可以完成,,变量使用函数,ThinkPHP内置模板引擎支持对模板变量使用调节器和格式化功能,其实也就是提供函数支持,并支持多个函数同时使用。 模板变量的函数调用格式为: $varname|function1|function2=arg1,arg2,# $webTitle|md5|strto

6、upper|substr=0,3 说明: 和 $ 符号之间不能有空格 ,函数之间用|分割 #表示模板变量本身的参数位置 必须注意的是:快捷输出的变量不支持函数的使用。,,调用函数,1、执行方法并输出返回值: 格式::function() 例如,输出U方法的返回值: :U(User/insert) 编译后的PHP代码是 2、执行方法但不输出: 格式:function() 例如,调用say_hello函数: say_hello(ThinkPHP) 编译后的PHP代码是: ,,模板标签,包含文件和导入文件 Volist标签和Foreach标签 比较标签、IF标签和Switch标签 判断标签:Rang

7、e标签、Present标签、Empty标签、Defined标签 使用PHP代码 原样输出 引入标签库,,包含文件,1、 使用完整文件名包含 格式: 2、包含当前模块的其他操作模板文件 格式: 3、 包含其他模块的操作模板 格式: 4、包含其他模板主题的模块操作模板 格式: 5、 用变量控制要导入的模版 格式: 6、使用快捷方式包含文件 格式:include:模板文件规则,,导入文件,系统提供了专门的标签来简化js和css文件的导入: 第一个是import标签 例如: 第二个是load标签,通过文件方式导入公共JS或者CSS, load: _PUBLIC_/Js/Common.js 第三个是js

8、和css标签 ,,Volist标签,Volist标签主要用于在模板中循环输出数据集或者多维数组。 在Action中首先对模版赋值: $User = M(User); $list = $User-select(); $this-assign(list,$list); 在模版定义如下,循环输出用户的编号和姓名: $vo.id $vo.name ,,Foreach标签,foreach标签也是用于循环输出 $vo.id $vo.name foreach标签相对比volist标签简洁,没有volist标签那么多的功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。,,比较标签,模板

9、引擎提供了丰富的判断标签,比较标签的用法是: 内容 系统支持的比较标签以及所表示的含义分别是: eq或者 equal:等于 neq 或者notequal:不等于 gt:大于 egt:大于等于 lt:小于 elt:小于等于 heq:恒等于 nheq:不恒等于,,IF标签,还可以使用if标签来定义复杂的条件判断,例如: value1 value2 value3 在condition属性中可以支持eq等判断表达式,同上面的比较标签,但是不支持带有”、” ,,Switch标签,模板引擎支持Switch标签,格式为: 输出内容1 输出内容2 默认情况 使用方法如下: value1 value2 defa

10、ult ,,判断标签,Range标签 输出内容1 输出内容2 输出 Present标签 name已经赋值 name还没有赋值 Empty标签 name为空值 name不为空 Defined标签 NAME常量已经定义 NAME常量未定义,,使用PHP代码,PHP代码可以和标签在模板文件中混合使用,可以在模板文件里面书写任意的PHP语句代码 ,包括下面两种方式: 第一种是使用php标签: echo Hello,world!; 第二种就是直接使用原始的php代码: ,,原样输出,可以使用literal标签来防止模板标签被解析,例如: value1 value2 value3 上面的if标签被literal标签包含,因此if标签里面的内容并不会被模板引擎解析,而是保持原样输出。 Literal标签可以用于页面的JS代码外面,确保JS代码中的某些用法和模板引擎不产生混淆。,,引入标签库,内置模板引擎的标签库是可以无限扩展和增加标签的,导入标签库使用tagLib标签。 格式: 可以同时导入多个标签库,用逗号分隔。 例如: ,,华章培训网版权所有 ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1