thinkphp3.2筆記(3)視圖渲染 模板的賦值與顯示 系統變量


一  視圖

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}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM