一 視圖
1 視圖渲染
渲染模板輸出最常用的是使用display方法,調用格式:
display('[模板文件]'[,'字符編碼'][,'輸出類型'])模板文件的寫法支持下面幾種:
用法 描述
不帶任何參數 自動定位當前操作的模板文件
[模塊@][控制器:][操作] 常用寫法,支持跨模塊 模板主題可以和theme方法配合
完整的模板文件名 直接使用完整的模板文件名(包括模板后綴)、
下面是一個最典型的用法,不帶任何參數:
// 1. 不帶任何參數 自動定位當前操作的模板文件
$this->display();
//2 .帶參數
$this->display('goods2');
//3. 指定其他控制器下的模板 控制器:操作
$this->display('Index:add');
//4. 指定其他模塊的模板 [模塊@][控制器:][操作]
$this->display('Admin@index:add');
//5 . 完整模板名稱 要注意模板文件位置是相對於項目的入口文件,而不是模板目錄。
$this->display('./add.html');
2 display和fetch 方法的區別
display: 獲取具體的模板內容並且自動輸出
fetch: 獲取模板內容,但是不會自動輸出
如果要用到fetch輸出模板,先用fetch,后用show
$this->show($this->fetch('goods'));
3 模板替換
1)創建方法渲染模板

<link rel="stylesheet" type="text/css" href="/Public/css.css"/>
public 前面的/理解為根目錄

2. 替換規則
在進行模板渲染之前,系統還會對讀取的模板內容進行一些特殊字符串替換操作,也就是實現了模板輸出
的替換和過濾。該替換操作僅針對內置的模版引擎。
這個機制可以使得模板文件的定義更加方便,默認的替換規則有:
__ROOT__: 會替換成當前網站的地址(不含域名)
__APP__: 會替換成當前應用的URL地址 (不含域名)
__MODULE__:會替換成當前模塊的URL地址 (不含域名)
__CONTROLLER__(__或者__URL__ 兼容考慮): 會替換成當前控制器的URL地址(不含域名)
__ACTION__:會替換成當前操作的URL地址 (不含域名)
__SELF__: 會替換成當前的頁面URL
__PUBLIC__:會被替換成當前網站的公共目錄 通常是 /Public


注意這些特殊的字符串是嚴格區別大小寫的,並且這些特殊字符串的替換規則是可以更改或者增加的,我
們只需要在應用或者模塊的配置文件中配置TMPL_PARSE_STRING就可以完成。如果有相同的數組索引,
就會更改系統的默認規則。例如:
'TMPL_PARSE_STRING' =>array(
'__PUBLIC__' => '/Common', // 更改默認的/Public 替換規則
'__JS__' => '/Public/JS/', // 增加新的JS類庫路徑替換規則
'__UPLOAD__' => '/Uploads', // 增加新的上傳路徑替換規則
)

二 模板的賦值與顯示
1 方法

2 模板

3 配置

三 系統變量
普通的模板變量需要首先賦值后才能在模板中輸出,但是系統變量則不需要,可以直接在模板中輸出,系
統變量的輸出通常以{$Think 打頭,例如:
{$Think.server.script_name} // 輸出$_SERVER['SCRIPT_NAME']變量
{$Think.session.user_id} // 輸出$_SESSION['user_id']變量
{$Think.get.pageNumber} // 輸出$_GET['pageNumber']變量
{$Think.cookie.name} // 輸出$_COOKIE['name']變量
支持輸出 $_SERVER 、 $_ENV 、 $_POST 、 $_GET 、 $_REQUEST 、 $_SESSION 和
$_COOKIE 變量。
常量輸出
還可以輸出常量
{$Think.const.MODULE_NAME}
或者直接使用
{$Think.MODULE_NAME}
{$Think.PHP_VERSION} 顯示php版本
PHP 全局變量 - 超全局變量
這些超全局變量是:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
$GLOBALS — 引用全局作用域中可用的全部變量
$GLOBALS 這種全局變量用於在 PHP 腳本中的任意位置訪問全局變量(從函數或方法中均可)。
PHP 在名為 $GLOBALS[index] 的數組中存儲了所有全局變量。變量的名字就是數組的鍵。
配置輸出
輸出配置參數使用:
{$Think.config.db_charset}
{$Think.config.url_model}
語言變量
輸出語言變量可以使用:
{$Think.lang.page_error}
{$Think.lang.var_error}
