smarty类和对象的赋值与使用
在smarty 3中,通过smarty模板对象的方法assign()对对象赋值
可见,assign()既能对变量、数组赋值,也能对对象赋值;
赋值之后,就可以在模板中使用这些类的对象了,使用方法和PHP相同
例如,在上面赋值之后,直接在模板test.tpl中使用:
{$myComputer->showArg('7890')}
smarty函数的使用
在实际开发中,smarty的变量调节器功能可能不够用;这时解决办法有三种:
1.使用PHP内置函数
2.自定义函数
使用registerPlugin注册到smarty模板中使用
3.自定义插件
现在具体讲解三种方法:(都是在模板中使用的)
1.使用PHP内置函数
向模板中传入变量
现在在模板中使用PHP内置函数,将字符串中d替换成h,使用PHP内置函数str_replace(arg1,arg2,arg3)
注意,内置函数的使用:
1.1竖划线|之前的参数是内置函数的第一个参数,函数名之后的分别是第2参数,第3参数......
1.2参数都是 :参数值1:参数值2 的形式
1.3注意传入模板中的参数,在PHP内置函数中的位置
2.自定义函数
首先在PHP文件中定义自定义函数;
然后通过smarty模板对象的registerPlugin()函数注册到模板中;
最后在模板中调用函数;
在模板中调用自定义函数
注意:
2.1在模板中调用的函数,参数可以有很多,参数名任意;
所有的参数将会打包成数组赋值到自定义函数中的参数$arr(名称任意);
这些参数名将成为数字的key
2.2在自定义函数中,参数$arr是个数组
此数组的键key,是在模板中调用自定义函数时传入的参数名;