程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP內置模板引擎的使用方法總結

ThinkPHP內置模板引擎的使用方法總結

編輯:關於PHP編程

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'=>'[email protected]');
        $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模板中判斷volist循環的最後一條記錄
  • Thinkphp 模板中常用的系統變量總結
  • thinkphp頁面跳轉(successerror)如何設置跳轉等待時間
  • ThinkPHP中的查詢技巧總結
  • Thinkphp 內部函數 ADSLCFUI 快捷方法全解析
  • thinkphp關閉緩存的方法
  • php統計搜索引擎訪問記錄
  • thinkphp打印最後一條sql語句

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved