ThinkPHP内置模板引擎的使用方法总结

原创 2013年12月03日 17:25:05

ThinkPHP内置的模板引擎是一个自主创新的XML编译性模板引擎,下面通过一个案例分享一些ThinkPHP内置的模板引擎常用的模板标签的用法,包括变量输出、循环、判断、比较等,这些都是比较基础的用法,无法包括ThinkPHP内置模板引擎的全部标签和特性。

(1)下面是控制器 IndexAction 类的源码

<?php
class IndexAction extends Action{
    public function index() {
        $_SESSION['name']    =    'ThnkPHP Session';
        $vo    =    array('id'=>1,'name'=>'ThinkPHP','email'=>'liu21st@gmail.com');
        $this->assign('vo',$vo);
        $obj    =    (object)$vo;
        $this->assign('obj',$obj);
        $this->assign('array',array(5,260,13,7,40,50,2,1));
        $this->assign('num1',6);
        $this->assign('num2',2);
        $this->assign('num',6);
        $this->display();
    }
} 
?>

(2)以下演示的是上面控制器赋值到模板中的一些变量,常量以及数组的一些基础性用法

普遍变量输出

num1:{$num1}

对象输出

id:{$obj:id}

name:{$obj:name}

数组输出

id:{$vo['id']}

name:{$vo['name']}

自动判断数组和对象输出

id:{$vo.id}

name:{$vo.name}

系统常量输出(系统常量可以不用在控制器中使用 assign 赋值)

{$Think.now|date='Y-m-d H:i:s',###}

{$Think.server.PHP_SELF}

{$Think.session.name}

对变量使用函数(这里可以是内置函数或者自定义函数)

{$vo.name|strtolower|ucwords}

Foreach 输出

<foreach name="vo" key="key" item="item">
{$key}:{$item}
</foreach>

下面这个例子使用了循环标签、Switch标签、比较标签

<volist name="array" id="val" key="i">
[{$i}]
<eq name="odd" value="1">偶数行</eq>
<eq name="odd" value="0">奇数行</eq>
<gt name="val" value="5">{$val}大于5</gt>
<if condition=" $val gt 15"> 
{$val}大于15
<elseif condition="$val lt 10" />
{$val}小于10
</if>
<switch name="val">
<case value="1">数据{$val}</case>
<case value="2">数据{$val}</case>
<case value="3">数据{$val}</case>
<default />其他数据是 {$val}
</switch>
</volist>

输出结果类似为:

[1] 奇数行 5小于10 长度为1
[2] 偶数行 260大于5 260大于15 长度为3
[3] 奇数行 13大于5 长度为2
[4] 偶数行 7大于5 7小于10 长度为1
[5] 奇数行 40大于5 40大于15 长度为2
[6] 偶数行 50大于5 50大于15 长度为2
[7] 奇数行 2小于10 长度为1
[8] 偶数行 1小于10 长度为1

ThinkPHP内置的模板引擎比较标签

<gt name="num1" value="3">大于3</gt>
<lt name="num2" value="3">小于3</lt>

输出结果类似为:

大于3
小于3
条件判断

<if condition=" $num gt 5">
{$num}大于5
<elseif condition="$num gt 3" />
{$num}大于3<else />
其他{$num}
</if>

输出结果类似为:

6大于5



相关文章推荐

thinkphp5初探,Twig模版引擎的引入和使用

近来先来无事,就想看看我们国产的php框架tp5,,然后去官方看那长篇大论的文档,可是头疼的要命~~~想了个办法,去加thinkphp5的讨论群,居然被拒绝了~~~ 我的内心确实很崩溃,,处理的管理员...

jade模板引擎的使用方法

jade模板引擎的使用方法

Samrty模板引擎在php项目中的使用方法

(1)在smarty官网http://www.smarty.net/download上去下载smarty; (2)打开文件夹,demo文件夹是smarty使用的一些案例,libs文件夹下是smart...

(第29讲) PHP模板引擎Smarty内置函数

  • 2011年11月14日 16:07
  • 17.74MB
  • 下载

我的php学习笔记(二十六)PHP模板引擎Smarty内置函数

一、foreach 对数组的处理  与在PHP中的foreach用法类似,同样是用来遍历数组。在实际操作中与section 功能一样,但foreach在Smarty一般用来处理一维数组。 使用...

ThinkPHP框架使用Smarty模板引擎

ThinkPHP框架使用Smarty模板引擎 原文  http://phpquan.com/lamp/php/thinkphp-smarty/ 主题 ThinkPHP 最近公司使用Thi...

Thinkphp3.2 关于快捷函数 模板引擎换为smarty时 地址跳转函数U()的使用修改及说明

Thinkphp3.2 关于快捷函数 模板引擎换为smarty时 地址跳转函数U()的使用修改及说明...

Codeigniter使用Smarty模板引擎之安装方法

一、引言 最近因为项

ThinkPHP2.1 增加PHPCMS模板引擎,支持PC标签(get,json)

本人经常使用PHPCMS模板引擎。 用ThinkPHP2.1 自带的,感觉不爽,花点时间增加了个PHPCMS模板引擎 BY 夜色紫宸風 功能:PHPCMS模板解析引擎,支持PC标签(get,js...
  • wljk506
  • wljk506
  • 2011年11月15日 13:44
  • 1659

ThinkPHP整合Smarty模板引擎操作mysql数据库

要想做到数据和前台页面真正的分离,就必然会用到smarty模板,这样,仅仅的传输数据就可以了。 配置Smarty的模板默认设置:'TMPL_ENGINE_TYPE' =>  'Smarty' Smar...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ThinkPHP内置模板引擎的使用方法总结
举报原因:
原因补充:

(最多只允许输入30个字)