PHP Smarty 模板 变量访问 韩顺平 讲解
定界符重新定义 预防在模板中有js css 代码时 smarty模板引擎解析出现错误!
注意点:
tpl页面模板中参数和值 在 php页面中对应关系。
例如
PHP页面代码classDog{var$arrT;function__construct($arr){$this->arrT=$arr;}}//一维索引数组$arrA=array('beijing','shanghai','tianjin');//实例化对象$dog=newDog($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=newSmarty();$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","icomefromChina");
tpl页面
<{$yang_string}>
浏览器
icomefromChina
数组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页面
classDog{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"));//对象的分配classMaster{var$name;var$address;}$master=newMaster();$master->name="津沙港湾";$master->address="厦门";//实例化对象$dog=newDog("小明",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||红色shanghaiyang津沙港湾
php页面 (对象中参数传入是一维关联数组$arrB)
$arrB=array('city1'=>'beijing','city2'=>'上海','city3'=>'天津');$dog=newDog("小明",5,"红色",$arrB,$arrC);
tpl页面(对象中一维关联数组)
<{$dog->arrT.city1}>
浏览器
beijing
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。