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



ThinkPHP框架使用Smarty模板引擎

ThinkPHP框架使用Smarty模板引擎 原文  http://phpquan.com/lamp/php/thinkphp-smarty/ 主题 ThinkPHP 最近公司使用Thi...
  • flowerspring
  • flowerspring
  • 2016年09月23日 15:45
  • 2759

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

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

在Express中使用模板引擎

定义模板引擎var app = express(); app.set('views', './views'); // 指定模板文件存放位置 app.set('view engine', 'jade...
  • u014695532
  • u014695532
  • 2016年05月06日 21:33
  • 5298

jade模板引擎的使用方法

jade模板引擎的使用方法
  • qq_34149935
  • qq_34149935
  • 2017年06月06日 09:25
  • 462

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

(1)在smarty官网http://www.smarty.net/download上去下载smarty; (2)打开文件夹,demo文件夹是smarty使用的一些案例,libs文件夹下是smart...
  • qq_24188311
  • qq_24188311
  • 2016年11月06日 08:32
  • 260

ThinkTemplate模板引擎的设计和使用方法

在PHP开发的过程中,我们会接触到很多的模板引擎,包括FastTemplate、SmartTemplate、Smarty、tinybutstrong等,通常都是为了满足MVC开发模式的表现层需要,让显...
  • dreamboycx
  • dreamboycx
  • 2017年02月07日 10:52
  • 440

js模板引擎art-template.js使用方法

art-template是款性能卓越的 js 模板引擎 https://aui.github.io/art-template/ 特性 拥有接近 JavaScript 渲染极限的的性能调试友好:语...
  • h330531987
  • h330531987
  • 2017年12月06日 07:47
  • 103

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

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

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

一、foreach 对数组的处理  与在PHP中的foreach用法类似,同样是用来遍历数组。在实际操作中与section 功能一样,但foreach在Smarty一般用来处理一维数组。 使用...
  • yipiankongbai
  • yipiankongbai
  • 2013年02月25日 15:31
  • 515

smarty模板引擎_6-Smarty的内置函数

内置函数 [php] view plain copy 声明变量      var='username' value='king'}>   用户...
  • judyge
  • judyge
  • 2016年06月16日 22:39
  • 203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ThinkPHP内置模板引擎的使用方法总结
举报原因:
原因补充:

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