普通變數與保留變數

1,普通變數

一共有兩種宣告普通變數的方法。

  第一種:上面的範例已經使用過,即在index.php檔案中使用$smarty->assign('add',$add);

  第二種:在範本檔案中宣告(html中),即{assign var='add'  value='值'} 

#程式碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
<!--html的注释-->
{*smarty模板的注释*}
{assign var='add'  value='www.php.cn'}
我们网站的网址是:{$add}
</body>
</html>

執行結果:

# 微信图片_20180312144252.png

使用:{$add}

注意:也可以定義與使用陣列。假若上面定義的add為一維數組,使用式即:{$add[2]},{$add['aa']},{$add.aa}等使用方式。

2,保留變數

Smarty中有一個特殊的變數(就是smarty)可以透過這個變數很容易就可以存取到一些環境變數。就像PHP中的超全域變數一樣神奇。

      注意:使用這個保留變數的時候:smarty是大小寫敏感的,我們需要的是小寫的smarty

#例子:

一、使用smarty存取PHP中的超全域陣列變數:

  1、取得$_GET     {$smarty.get.name }    取得get中的name值

  2、取得$_POST    {$smarty.post.name}   取得post中的name值

###################################################################################################################################################1 3.取得$_COOKIE  {$smarty.cooke.name}  取得cookie中的name值############  同理,也可以取得$_SERVER, $_ENV 和 $_SESSION等等### #########注意:雖然Smarty提供了較方便直接存取PHP超全域變數的方法,但必須謹慎使用。直接存取超全局變數會弄亂應用程式底層程式碼和模板語法。最佳的實踐是###從PHP將需要的變數對模板進行賦值再使用。 ###############二、取得目前時間戳記#############  {$smarty.now}其原理就是呼叫了time()函數## ##########三、直接存取PHP常數#######

  {$smarty.const.常數名稱}即{$smarty.const.AGE}

PHP定義常數

微信图片_20180312154643.png微信图片_20180312154645.png

#運行結果:

微信图片_20180312154534.png




四、其他

  

取得設定變數:{$smarty.config}

  傳回目前範本名稱:{$smarty.template}

  傳回目前範本物件:{$smarty.template_object}

  傳回目前目錄名稱:{$smarty .current_dir}


###  等等################
繼續學習
||
<?php echo "变量的声明与使用";