本文實例講述了PHP模板引擎Smarty中的保留變量用法。分享給大家供大家參考,具體如下:
在 Smarty 中,有一些保留變量,它們是不需要 PHP 腳本去分配就可以直接使用,即不用使用 $_tpl->assign('var','value') 去分配。
1、在模板中訪問頁面請求的變量
{$smarty.get.user} == $_GET['user'] {$smarty.post.user} == $_POST['user'] {$smarty.cookie.username} == $_COOKIE['username'] {$smarty.session.username} == $_SESSION['username'] {$smarty.server.REMOTE_ADDR} == $_SERVER["REMOTE_ADDR"] {$smarty.env.PATH} == $_ENV['PATH'] {$smarty.request.username} == $_REQUEST['username']
2、在模板文件中訪問 PHP 腳本中定義的常量和系統常量
{$smarty.const.__FILE__} //當前執行的 PHP 文件 {$smarty.const.CONST_VAR} //訪問 PHP 腳本中 define 定義的常量
3、在模板文件中獲取當前服務器的時間
復制代碼 代碼如下:{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} == PHP腳本中的 date('Y-m-d H:i:s',time())
4、配置文件在模板中的訪問
可以通過 {$smarty.config.配置變量} 來訪問配置文件中的模板變量。這樣的話,在模板中訪問配置文件中的變量就有兩種方法:一、{#配置變量#};二、{$smarty.config.配置變量},如果有區域的話,也是如此。
5、獲取 Smarty 內建函數 capture 捕獲的數據
capture函數的作用是捕獲模板輸出的數據並將其存儲到一個變量裡,而不是把它們輸出到頁面,任何在 {capture name="foo"}和{/capture}之間的數據將被存儲到變量$foo中,該變量由name屬性指定。在模板中通過 $smarty.capture.foo 訪問該變量,如果沒有指定 name 屬性,函數默認將使用 "default" 作為參數。
6、保留變量 $smarty.foreach
$smarty.foreach 獲取 foreach 循環數組的一些信息,比如數組的個數、遞增+1……,關於 $smarty.foreach 的使用,詳細內容可參考前面一篇《PHP模板引擎Smarty內建函數foreach,foreachelse用法分析》
更多關於PHP相關內容感興趣的讀者可查看本站專題:《smarty模板入門基礎教程》、《PHP模板技術總結》、《PHP基於pdo操作數據庫技巧總結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基於smarty模板的PHP程序設計有所幫助。