初识smarty(5)

smarty对象,通过模板访问对象:

一种是注册对象到模板,然后通过类似于用户自定义函数的形式来访问它;另一种方法给模板分配对象,然后通过访问其它赋值变量类似的方法进行访问。

一般情况下,参数通过模板传递给对象的方法和自定义函数获得参数的方法是一样的。一个混合数组作为第一个参数传递,而SMARTY对象作为第二个。

class My_Object() {
	function meth1($params, &$smarty_obj) {
		return "this is my meth1";
	}
}
$myobj = new My_Object;
//注册对象
$smarty->register_object("foobar",$myobj);
//如果想限制成员和函数,外界可以通过列举它们为一个第三注册变量的数组的方式来访问它
$smarty->register_object("foobar",$myobj,array('meth1','meth2','prop1'));
//如果像传统的对象参数一样一次传递一个参数,设置第四个参数为 FALSE即可。
$smarty->register_object("foobar",$myobj,null,false);

 自定义函数:

function test($args){
$str="";
for($i=0;$i<$args['times'];$i++){
$str.="<br/><font color='".$args['color']."'>" size='".$args['size']."'>".$args['con']."</font>";
}
return $str;
}
必须遵守文件名格式:function.自定义函数名.php
函数名格式:
function smarty_function_自定义函数名($params,&$smarty){
$str="";
for($i=0;$i<$args['times'];$i++){
$str.="<br/><font color='".$args['color']."'>" size='".$args['size']."'>".$args['con']."</font>";
}
return $str;
}
//无需注册
以插件的形式增加自定义块函数
必须遵守文件名格式:function.自定义函数块名.php
函数名格式:
function smarty_block_自定义函数块名($params,$con,&$smarty){
$str="";
for($i=0;$i<$args['times'];$i++){
$str.="<br/><font color='".$args['color']."'>" size='".$args['size']."'>".$con."</font>";
}
return $str;
}
//无需注册

 

转载于:https://my.oschina.net/u/3725872/blog/1586603

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值