定界符重新定義 預防在模板中有js css 代碼時 smarty模板引擎解析出現錯誤!
注意點:
tpl頁面模板中參數和值 在 php頁面中對應關系。
例如
PHP頁面代碼 class Dog{ var $arrT; function __construct($arr){ $this->arrT=$arr; } } //一維索引數組 $arrA=array('beijing','shanghai','tianjin'); //實例化對象 $dog=new Dog($arrA); $dog->master=$master; $smarty->assign("dog",$dog); $smarty->display("hello.tpl"); TPL頁面代碼 <{$dog->arrT.city1}>
在PHP頁面中Dog類中的成員變量arrT 對應 TPL頁面arrT
Dog類中構造方法形式參數$arr
function __construct($arr){
$this->arrT=$arr;
}
定義要傳入Dog類參數中的實參$arrA $arrA=array('beijing','shanghai','tianjin');
在實例化對象時傳入實參$arrA $dog=new Dog($arrA);
//創建smarty對象 require_once './libs/Smarty.class.php'; $smarty=new Smarty(); $smarty->left_delimiter="<{"; $smarty->right_delimiter="}>";
布爾型boolean
php頁面
$smarty->assign("yang_boolean",true);
tpl頁面
<{$yang_string}>
瀏覽器
1
整型integer
php頁面
$smarty->assign("yang_int",567);
tpl頁面
<{$yang_int}>
瀏覽器
567
浮點型float
php頁面
$smarty->assign("yang_float",56.7);
tpl頁面
<{$yang_float}>
瀏覽器
56.7
字符串string
php頁面
$smarty->assign("yang_string","i come from China");
tpl頁面
<{$yang_string}>
瀏覽器
i come from China
數組array 一維索引數組
php頁面
$arr=array('beijing','shanghai','tianjin'); $smarty->assign("arr1",$arr);
tpl頁面
<{$arr1[0]}>||<{$arr1[1]}>||<{$arr1[2]}>
瀏覽器
beijing||shanghai||tianjin
數組array 一維索引數組
php頁面
$arr2=array( 'city1'=>'beijing', 'city2'=>'上海', 'city3'=>'天津' ); $smarty->assign("arr2",$arr2);
tpl頁面
<{$arr2.city1}>||<{$arr2.city2}>||<{$arr2.city3}>
瀏覽器
beijing||上海||天津||
數組array 二維數組 (第一層為索引數組,第二層為索引數組)
php頁面
$arr3=array( array("北京","上海","天津"), array("宋江","李逵","盧俊義") ); $smarty->assign("arr3",$arr3);
tpl頁面
<{$arr3[0][0]}>||<{$arr3[0][1]}>||<{$arr3[0][2]}>||<{$arr3[1][0]}>||<{$arr3[1][1]}>||<{$arr3[1][2]}>
瀏覽器
北京||上海||天津||宋江||李逵||盧俊義
數組array 二維數組 (第一層為索引數組,第二層為關聯數組)
php頁面
//關聯二維數組 $arr4=array( array( "id"=>"a001", "name"=>"yang", "age"=>"33" ), array( "id"=>"a002", "name"=>"wang", "age"=>"23" ) ); $smarty->assign("arr4",$arr4);
tpl頁面
<{$arr4[0].id}>||<{$arr4[0].name}>||<{$arr4[0].age}>||<{$arr4[1].id}>||<{$arr4[1].name}>||<{$arr4[1].age}>
瀏覽器
a001||yang||33||a002||wang||23
數組array 二維數組 (第一層為關聯數組,第二層為關聯數組)
php頁面
$arr5=array( "emp1"=>array( "id"=>"a001", "name"=>"yang", "age"=>"33" ), "emp2"=>array( "id"=>"a002", "name"=>"wang", "age"=>"23" ) ); $smarty->assign("arr5",$arr5);
tpl頁面
<{$arr5.emp1.id}>||<{$arr5.emp1.name}>||<{$arr5.emp1.age}>||<{$arr5.emp2.id}>||<{$arr5.emp2.name}>||<{$arr5.emp2.age}>
瀏覽器
a001||yang||33||a002||wang||23
數組array 二維數組 (第一層為關聯數組,第二層為索引數組)
php頁面
$arr6=array( "emp1"=>array( "a001","yang", "33" ), "emp2"=>array( "a002","wang", "23" ) ); $smarty->assign("arr6",$arr6);
tpl頁面
<{$arr6.emp1[0]}>||<{$arr6.emp1[1]}>||<{$arr6.emp1[2]}>||<{$arr6.emp2[0]}>||<{$arr6.emp2[1]}>||<{$arr6.emp2[2]}>
瀏覽器
a001||yang||33||a002||wang||23
對象object
php頁面
class Dog{ var $name;//var是公開變量 var $age; var $color; var $arrT; var $arr2; var $master;//小狗主人 function __construct($name,$age,$color,$arr,$arr2){ $this->name=$name; $this->age=$age; $this->color=$color; $this->arrT=$arr; $this->arr2=$arr2; } } //一維索引數組 $arrA=array('beijing','shanghai','tianjin'); //一維關聯數組 $arrB=array( 'city1'=>'beijing', 'city2'=>'上海', 'city3'=>'天津' ); $arrC=array( array( "id"=>"a001", "name"=>"yang", "age"=>"33" ), array( "id"=>"a002", "name"=>"wang", "age"=>"23" ) ); //對象的分配 class Master{ var $name; var $address; } $master=new Master(); $master->name="津沙港灣"; $master->address="廈門"; //實例化對象 $dog=new Dog("小明",5,"紅色",$arrA,$arrC); $dog->master=$master; $smarty->assign("dog",$dog); $smarty->display("hello.tpl");
tpl頁面(對象成員,對象中一維索引數組,對象中二維數組,對象中對象的屬性)
<{$dog->name}>||<{$dog->age}>||<{$dog->color}> <{$dog->arrT[1]}> <{$dog->arr2[0].name}> <{$dog->master->name}>
瀏覽器
小明||5||紅色 shanghai yang 津沙港灣
php頁面 (對象中參數傳入是一維關聯數組$arrB)
$arrB=array( 'city1'=>'beijing', 'city2'=>'上海', 'city3'=>'天津' ); $dog=new Dog("小明",5,"紅色",$arrB,$arrC);
tpl頁面(對象中一維關聯數組)
<{$dog->arrT.city1}>
瀏覽器
beijing
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。