ThinkPHP模板

     ThinkPHP内置了一个基于XML的性能卓越的模板引擎ThinkTemplate,这是一个专门为ThinkPHP服务的内置模板引擎。ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。

模板?
 模板是可复用代码的衍生概念。
 模板分离HTML部分,程序里体现的是完全的业务逻辑。
 模板可以轻松实现更换网站皮肤,进行改版;方便制作不同语言版本。
 模板提高开发速度和性能,使修改、维护更方便。
 模板支持缓存技术,实现网页的静态化

模板变量

 在Action中使用assign方法可以给模板变量赋值
 $name = 'ThinkPHP';
 $this->assign('name',$name);
 使用内置的模板引擎输出变量,只需要在模版文件使用:
 {$name}
 模板编译后的结果就是
 <?php echo($name);?>

变量的使用

ThinkPHP变量来源
 从PHP分配的变量,使用assign分配
 系统变量
 路径替换变量
 模板中使用变量
 {$name}
 {$user['name']} {$user['sub']['name']}
 {$user:name} {$user:sub:name}
 {$user.name} {$user.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变量 和{$Think.post.var} 等效
{*var} //输出常量和{$Think.const.var} 等效
{@var1.var2}//输出$_SESSION[‘var1’][‘var2’]
{#var1.var2}//输出$_COOKIE[‘var1’][‘var2’]
 

默认的替换规则有
 ../Public: 会被替换成当前项目的公共模板目录 通常是/项目目录/Tpl/default/Public/
 __PUBLIC__:会被替换成当前网站的公共目录 通常是/Public/
 __TMPL__: 会替换成项目的模板目录 通常是/项目目录/Tpl/default/
 __ROOT__: 会替换成当前网站的地址(不含域名)
 __APP__: 会替换成当前项目的URL地址 (不含域名)
 __URL__: 会替换成当前模块的URL地址(不含域名)
 __ACTION__:会替换成当前操作的URL地址 (不含域名)
 __SELF__: 会替换成当前的页面URL
 注意这些特殊的字符串是严格区别大小写的,并且可以更改或者增加的,配置文件中配置TMPL_PARSE_STRING就可以完成

变量使用函数
 ThinkPHP内置模板引擎支持对模板变量使用调节器和格式化功能,其实也就是提供函数支持,并支持多个函数同时使用。
 模板变量的函数调用格式为:
 {$varname|function1|function2=arg1,arg2,###}
 {$webTitle|md5|strtoupper|substr=0,3}
 说明:
 { $ 符号之间不能有空格 ,函数之间用|分割
 ###表示模板变量本身的参数位置
 必须注意的是:快捷输出的变量不支持函数的使用。

(未完待续)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值