一. 普通变量
1.一般性变量赋值。
//给模版页赋值
$smarty->assign('name', 'Mr.Lee');
//模版页取值
我的名字叫:{$name}
2.数组变量赋值。
//一个数值索引数组
$array = array('马云', '马化腾', '李彦宏', '雷军');
//给模版页赋值
$smarty->assign('array', $array);
//可以用中括号取值
{$array[0]}
//也可以用.符号取值
{$array.0}
//一个字符串索引数组
$array = array('苹果'=>'iphone7', '小米'=>'5s', 'meizu'=>'pro6');
//给模版页赋值
$smarty->assign('array', $array);
//可以使用中括号,需要单引号
{$array['苹果']}
//.符号中文不支持
{$array.meizu}
3.对象赋值
//一个类
Class Test
{
public $name = 'Mr.Lee';
public function run(){return 'running...';}
}
//实例化这个类
$test = new Test();
//给模版赋值这个对象
$smarty->assign('obj', $test);
//输出字段和方法
{$obj->name}
{$obj->run()}
二. 变量范围
1.使用 createData 方法可以控制是否在模版中可见变量。
//创建数据对象
$data = $smarty->createData();
//在数据对象作用域下分配变量
$data->assign('name', 'Mr.Lee');
//只有把这个对象分配到模版中,才能可见变量
$smarty->display('2.tpl', $data);
2.使用 createTemplate 方法可以控制在哪个模版中可见变量。
//设置要控制的模版文件
$tpl = $smarty->createTemplate('2.tpl');
//给这个模版文件分配变量
$tpl->assign('name', 'Mr.Lee');
//引入模版
$smarty->display($tpl);