Home  >  Article  >  Backend Development  >  smarty模板引擎从php中获取数据的方法_php实例

smarty模板引擎从php中获取数据的方法_php实例

WBOY
WBOYOriginal
2016-06-07 17:14:23795browse

本文实例讲述了smarty模板引擎从php中获取数据的方法。分享给大家供大家参考。具体如下:

smarty可以分配($smarty->assign)的变量类型:所有php支持的数据类型——基本数据类型、复合数据类型、特殊数据类型(具体见smarty相关手册)。

操作/显示文件:index.php

复制代码 代码如下:
//创建smarty对象
require_once("./libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->assign("aa","hello word");//分配字符串
$smarty->assign("bb",123);//分配整型
$smarty->assign("cc",90.8);//分配float型,浮点型
$smarty->assign("dd",true);//分配字符串
//分配数组,数组一般从数据库取出,这里直接给数组
$arr1 = array("北京","上海","广州");//索引数组
$smarty->assign("arr1",$arr1);//分配索引数组

$arr2 = array("city1"=>"北京","city2"=>"上海","city3"=>"广州");//关联数组
$smarty->assign("arr2",$arr2);//分配关联数组

$arr3 = array(array("北京","上海","广州"),array("关羽","张飞","美女"));
$smarty->assign("arr3",$arr3);

$arr4 = array("aa"=>array("北京","上海","广州"),"bb"=>array("关羽","张飞","美女"));
$smarty->assign("arr4",$arr4);

//对象类型
class Master{
 public $name;
 public $address;
}
$master = new Master();
$master->name="百度";
$master->address = "中关村";
class Dog{
 public $name;
 public $age;
 public $color;
 public $arr;
 public $master;
 function __construct($name,$age,$color,$arr){
  $this->name = $name;
  $this->age = $age;
  $this->color = $color;
  $this->arr = $arr;
 }
}
$dog = new Dog("小狗",4,"金黄色",$arr2);
$dog->master = $master;
$smarty->assign("dog",$dog);

$smarty->display("index.tpl");
?>

模板文件:index.tpl

复制代码 代码如下:

smarty变量操作


取字符串:{$aa}


取整数:{$bb}


取浮点型:{$cc}


取布尔值:{$dd}


取数组(索引数组):{$arr1[0]}--{$arr1[1]}--{$arr1[2]}


取数组(关联数组):{$arr2.city1}--{$arr2.city2}--{$arr2.city3}


取二组数组(索引,取单个):{$arr3[0][0]}


取二组数组(索引,遍历全部):


取二维数组(关联):{$arr4.aa[2]}


取二维数组(关联、遍历):


取对象(普通属性):{$dog->name}


取对象(数组属性):{$dog->arr.city1}


取对象(对象属性):{$dog->master->name}


希望本文所述对大家的php程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn