几乎所有PHPer对smarty并不陌生吧?如果要连smarty都没听说过那老哥绝对五体投地崇拜你。但绝大多数人只是意识到smarty是源码与HTML分离的一个功能,其实smarty还有许多非常的小功能,如果你能把smarty的这些小功能都应用的非常好,不仅非常方便程序编写还减少重复性操作。
今天要介绍smarty的变量调节器功能,什么是变量调节器呢?即输入在模板上的变量可以通过某个函数处理返回值达到某种效果。
举例
举个最简单的例子,如所有小写字母变大写!那么在模板页你可以在变量后边加上“|upper”即可,如 { $word | upper } 这样就可以把$word变量中所有的小写字母变成大写字母了。挺方便的吧!
为什么要使用变量调节器,直接用PHP处理然后assign过去不是一样的么?
可能有些童鞋会这么问,把小写变成大写,用PHP转换不过是一行代码之事何必费劲呢?那么请看以下例子
a.如果你不用smarty变量调节器那么就是提前在PHP中遍历数组进行预处理
assign('new_array',$new_array);
在模板页直接使用
转换大写后的字母:
b.直接用smarty变量调节器,所以省掉了预处理步骤
assign('array',$array);
在模板页使用预处理
使用变量调节器转换元素字母为大写:
以上两种方法都能达到同样一个效果,但细心的读者会发现如果不使用smarty变量调节器则会多一步遍历数组操作,而使用smarty变量调节器只需要在变量后边加个字符即可。这正是smarty变量调节器功能所在,使用它,你不需要进行多一次的循环遍历。在任何程序中,都尽可能的减少数组遍历是提升程序运行效率的关键所在,善于用smarty变量调节器不仅可以让你少些代码还可以提高效率。 |
|