smarty模板引擎对各种数据的基本操作

我们都知道smarty是用来写模板的,,但是写入模板的数据可以大致的分为这么几种:

整数小数字符串布尔值数组(一维索引,一维关联数组,二维数组,二维关联数组等)对象。

下面是我的实例代码,对每一种变量类型都有测试:

<?phprequire_once './libs/Smarty.class.php';$smarty=new Smarty();$smarty->left_delimiter="<{";$smarty->right_delimiter="}>";$smarty->assign("var1","Happy");$smarty->assign("var2",333);$smarty->assign("var3",3.1415926);$smarty->assign("var4",true);//数组一般是从数据库里面取出$arr1=array('北京','上海','天津');$smarty->assign("var5",$arr1);$arr2=array('city1'=>'北京','city2'=>'上海','city3'=>'天津');$smarty->assign("var6",$arr2);$arr3=array(array('北京','上海','天津'),array('宋江','卢俊义','张飞'));$smarty->assign("var7",$arr3);$arr4=array(array('city1'=>'北京','city2'=>'上海','city3'=>'天津'),array('person1'=>'宋江','person2'=>'卢俊义','person3'=>'张飞'));$smarty->assign("var8",$arr4);$arr5=array('emp1'=>array('city1'=>'北京','city2'=>'上海','city3'=>'天津'),'emp2'=>array('person1'=>'宋江','person2'=>'卢俊义','person3'=>'张飞'));$smarty->assign("var9",$arr5);class Dog{var $name;var $age;var $color;var $arr;function __construct($name,$age,$color,$arr){$this->name=$name;$this->age=$age;$this->color=$color;$this->arr=$arr;}}$dog_1=new Dog('小白',18,'yellow',$arr1);$smarty->assign("var10",$dog_1);$dog_2=new Dog('小黑',20,'black',$arr2);$smarty->assign("var11",$dog_2);echo "<pre>";print_r($_SERVER);echo "</pre>";//说明该对象使用哪一个模板。$smarty->display("test.tpl");?>以上smarty对象的创建和数据的分配实现,下面是其对应的模板:

<{config_load file='../config/my.conf'}><body bgcolor="<{#bgcolor#}>"><h1><{#title#}></h1><{$var1}><hr/><{$var2}><hr/><{$var3}><hr/><{$var4}><hr/><{$var5[0]}>********<{$var5[1]}>*******<{$var5[2]}><hr/><{$var6.city1}>*******<{$var6.city2}>*******<{$var6.city3}><hr/><{$var7[0][0]}>********<{$var7[0][1]}>*******<{$var7[0][2]}>*******<{$var7[1][0]}>********<{$var7[1][1]}>*******<{$var7[1][2]}><hr/><{$var8[0].city1}>********<{$var8[0].city2}>*******<{$var8[0].city3}>*******<{$var8[1].person1}>********<{$var8[1].person2}>*******<{$var8[1].person3}><hr/><{$var9.emp1.city1}>**********<{$var9.emp1.city2}>**********<{$var9.emp1.city3}>********<{$var9.emp2.person1}>*********<{$var9.emp2.person2}>*********<{$var9.emp2.person3}><hr/><{$var10->name}>******************<{$var10->age}>*********************<{$var10->color}><hr/><{$var10->arr[0]}>***************<{$var10->arr[1]}>*********************<{$var10->arr[2]}><hr/><{$var11->arr.city1}>*****************<{$var11->arr.city2}>***************<{$var11->arr.city3}><hr/><{$smarty.get.usename}><hr/><{$smarty.server.SERVER_NAME}></body>他们的取法在模板里面都有相应的规范。

这里总结一下:

一般数据类型,如整数,小数,字符串等即直接使用就可以了。

如果是数组类型,分为这么两种:即有关联和无关联,前者要用下点号取,后者直接用数组的方式,依次类推。

而对象则是用“->”的方式进行指定。

如果是复合型的数据,要根据以上的原则便可以了。

做事不怕难,自无难人事。

smarty模板引擎对各种数据的基本操作

相关文章:

你感兴趣的文章:

标签云: