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