定義:模板變數
,即在模板中被指派的變數,以及如何使用Smarty
規則在模板中解析變數。
在Smarty
模板中,我們將模板中的變數
分成三類。
PHP分配變量,即利用assign
方法指派的變數。
smarty保留變量,包含超全域預定義變數
和smarty的內建變數。
自訂變量,使用者在範本中去訂變數。
1.PHP分配變量,理論上PHP可以分配任意資料型別給模板解析,通常資料其實也就三種:
標量資料:直接使用標記輸出的資料。
陣列資料:在smarty模板中可以使用下標或透過".
" 下標
來實現。
物件資料:在smarty範本中是透過物件存取符
來實現存取。
<?php require 'smarty/Smarty.class.php'; $smarty=new Smarty(); // $smarty->left_delimiter="<{"; // $smarty->right_delimiter="}>"; $smarty->template_dir = 'templates/'; //实际模板所在目录,如果没有会在根目录下查找 //普通数据 $smarty->assign('hello',"hello world"); //数组 $smarty->assign('arr1',array(1412,14,23,456)); $smarty->assign('arr2',array('name'=>'张三','sex'=>'男')); //对象 class Person{ public $name='陈平安'; public $perr='saber'; } $smarty->assign('object1',new Person()); $smarty->display('model.html'); ?>
<!DOCTYPE html>//模板 model.html <html> <head> <title></title> </head> <body> {$hello}这是templates下面的模板 <br> 这是索引数组:{$arr1[0]}---{$arr1[1]}------{$arr1[2]}<br> 这是索引数组:{$arr1.0}---{$arr1.1}------{$arr1.2}<br> 这是关联数组:{$arr2.name}-----{$arr2.sex}<br> 这是对象:{$object1->name}-----------{$object1->perr}<br> </body> </html>
2.Smarty保留變數:是smarty考慮到使用者會需要經常使用的系統變量,或是內部變數。這類變數通常以$smarty開始,然後是各類關鍵字,多次造訪。
GET資料:{$smarty.get.名字}
POST資料:{$smarty.post.名字}
session資料:{$smarty.session.名字}
#cookie資料:{$smarty.cookies.名字}
#REQUEST資料:{$smarty.request.名字}
#server資料:{$smarty.server.大寫名字}
#時間戳記:{$smarty.now}
模板路徑:{$smarty.current_dir}
模板名稱:{ $smarty.template}
設定檔:{$smarty.config.設定檔名}
<html> <header></header> <body> GET数据:{$smarty.get.name} POST数据:{$smarty.post.name} session数据:{$smarty.session.username} cookie数据:{$smarty.cookies.username} REQUEST数据:{$smarty.request.name} server数据:{$smarty.server.SERVER_NAME} 时间戳:{$smarty.now} 模板路径:{$smarty.current_dir} 模板名字:{$smarty.template} </body> </html>
3.自訂變數:Smarty為了在模板中可以靈活的對資料進行處理,允許設定變數:{assign var='變數名稱' value='變數值'}。
<html> <header></header> <body> {assign var='name' value='Sun'} {$name} </body> </html>
以上是smarty模板的資料變數有哪些,又該如何呼叫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!