Smarty保留變量

2018-10-12 14:38 更新

 保留變量

可以通過PHP的保留變量 {$smarty}來訪問一些環(huán)境變量。 下面是這些變量的列表:

頁面請求變量

頁面請求變量 如$_GET$_POST$_COOKIE$_SERVER$_ENV 和 $_SESSION 可以通過下面的方式來使用:

Example 4.8. 顯示頁面請求變量

{* display value of page from URL ($_GET) http://www.example.com/index.php?page=foo *}
{$smarty.get.page}

{* display the variable "page" from a form ($_POST['page']) *}
{$smarty.post.page}

{* display the value of the cookie "username" ($_COOKIE['username']) *}
{$smarty.cookies.username}

{* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}

{* display the system environment variable "PATH" *}
{$smarty.env.PATH}

{* display the php session variable "id" ($_SESSION['id']) *}
{$smarty.session.id}

{* display the variable "username" from merged get/post/cookies/server/env *}
{$smarty.request.username}

   

溫馨提示:

由于歷史愿意,{$SCRIPT_NAME}變量會作為{$smarty.server.SCRIPT_NAME}的縮寫。

<a href="{$SCRIPT_NAME}?page=smarty">click me</a>
<a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>

溫馨提示:

雖然Smarty提供了較方便直接訪問PHP超全局變量的方法,但必須謹慎使用。 直接訪問超全局變量會弄亂應(yīng)用程序底層代碼和模板語法。 最佳的實踐是從PHP將需要的變量對模板進行賦值再使用。

{$smarty.now}

當前的時間戳 可以通過{$smarty.now}來獲取。 時間戳是從1970年1月1日開始計算到當前的秒數(shù)。 當前時間戳可以被date_format 修飾器使用并顯示。 注意:在每次使用該變量時都會調(diào)用time()函數(shù)。 比如說一個程序花了三秒來執(zhí)行,在開頭和結(jié)束時都調(diào)用了$smarty.now,那么這兩個數(shù)值將差三秒。

{* use the date_format modifier to show current date and time *}
{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}

   

{$smarty.const}

直接訪問PHP的常量。參見 smarty 常量.

<?php
// the constant defined in php
define('MY_CONST_VAL','CHERRIES');
?>

在模板中顯示常量

{$smarty.const.MY_CONST_VAL}

溫馨提示:

雖然Smarty有較方便直接訪問PHP常量的方法。 但這通常會弄亂應(yīng)用程序底層代碼和模板語法。 最佳的實踐是從PHP將需要的變量對模板進行賦值再使用。

{$smarty.capture}

Smarty內(nèi)置函數(shù) {capture}..{/capture}可以捕獲其中的代碼輸出。 通過{$smarty.capture}變量可以使用這些輸出的代碼。 參見 {capture}函數(shù)。

{$smarty.config}

{$smarty.config}變量可以獲取 配置變量。 {$smarty.config.foo}可獲取設(shè)置變量的{#foo#}。參見 {config_load}。

{$smarty.section}

{$smarty.section}變量是{section} 循環(huán)中的屬性。 它提供了一些很有用的值,如 .first,.index等等。

溫馨提示:

{$smarty.foreach}變量在新的{foreach} 語法中已經(jīng)不再使用。 但仍然支持Smarty 2.x 風(fēng)格的 foreach 語法。

{$smarty.template}

返回當前的模板名稱(不帶目錄名)。

{$smarty.template_object}

返回當前模板對象。

{$smarty.current_dir}

返回當前模板的目錄名稱。

{$smarty.version}

返回編譯當前模板的Smarty版本。

<div id="footer">由 Smarty {$smarty.version} 引擎驅(qū)動</div>

{$smarty.block.child}

返回子模板提供的區(qū)塊代碼。 參見模板繼承。

{$smarty.block.parent}

返回父模板提供的區(qū)塊代碼。 參見模板繼承。

{$smarty.ldelim}, {$smarty.rdelim}

用于顯示左定界符和右定界符。等同于 {ldelim},{rdelim}

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號