smarty模板中使用get、post、request、cookies、session變數的方法_PHP教程

來源:互聯網
上載者:User
{$smarty}保留變數不需要從PHP指令碼中分配,是可以在模板中直接存取的數群組類型變數,通常被用於訪問一些特殊的模板變數。例如,直接在模板中訪問頁面請求變數、擷取訪問模板時的時間戳記、直接存取PHP中的常量、從設定檔中讀取變數等。

1.在模板中訪問頁面請求變數

我 們可以在PHP指令碼中,通過超級全域數組$_GET、$_POST、$_REQUEST擷取在用戶端以不同方法提交給伺服器的資料,也可以通 過$_COOKIE或$_SESSION在多個指令碼之間跟蹤變數,或是通過$_ENV和$_SERVER擷取系統內容變數。如果在模板中需要這些數組,可 以調用Smarty對象中的assign()方法分配給模板。但在Smarty模板中,直接就可以通過{$smarty}保留變數訪問這些頁面請求變數。 在模板中使用的樣本如下所示:

PHP代碼

1. {$smarty.get.page} {* PHP方式:$_GET["page"] *}

2. {$smarty.post.page} {* PHP方式:$_POST["page"] *}

3. {$smarty.cookies.username} {* PHP方式:$_COOKIE["username"] *}

4. {$smarty.session.id} {* PHP方式:$_SESSION["id"] *}

5. {$smarty.server.SERVER_NAME} {* PHP方式:$_SERVER["SERVER_NAME"] *}

6. {$smarty.env.PATH} {* PHP方式:$_ENV["PATH"]*}

7. {$smarty.request.username} {* PHP方式:$_REQUEST["username"] *}
2.在模板中訪問PHP中的變數

在PHP指令碼中有系統常量和自訂常量兩種,同樣這兩種常量在Smarty模板中也可以被訪問,而且不需要從PHP中分配,只要通過{$smarty}保留變數就可以直接輸出常量的值。在模板中輸出常量的樣本如下所示:

1、 {$smarty.const._MY_CONST_VAL} {* 輸出PHP指令碼中自訂的常量 *}

2、 {$smarty.const.__FILE__} {* 通過保留變數數組直接輸出系統常量 *}

3、其它

1.{$smarty.now}變數用於訪問目前時間戳

可以用 date_format調節器格式化輸出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

2.{$smarty.const}

你可以直接存取PHP常量. 例如{$smarty.const._MY_CONST_VAL}

3.{$smarty.capture}

可以通過 {capture}..{/capture}結構 截取的輸出可以使用{$smarty} 變數訪問.

4.{$smarty.config}

{$smarty}變數 可以訪問已經載入的config變數

例如 {$smarty.config.foo}就可以表示 {#foo#}

5.{$smarty.section}, {$smarty.foreach}

{$smarty} 變數可以訪問'section'和'foreach'迴圈的屬性

6.{$smarty.template} 顯示當前被處理的模板的名字

7.{$smarty.version}

顯示smarty模板的版本

8.{$smarty.ldelim} 顯示左分隔字元

9.{$smarty.rdelim} 顯示右分隔字元

http://www.bkjia.com/PHPjc/760289.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/760289.htmlTechArticle{$smarty}保留變數不需要從PHP指令碼中分配,是可以在模板中直接存取的數群組類型變數,通常被用於訪問一些特殊的模板變數。例如,直接在模...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.