到这里,我在想很多人,也包括我自己,以前会写类似这样的代码:
echo "欢迎".getUserInfo().",购物车商品数量:".ShowShopCart();
乍一看代码写得没有什么毛病,这种相似的代码例子在PHP手册上就存在。从编译上来看,这段字符串在输出之前实际上运行了3次!这是为什么?我们看一下PHP是如何执行这段代码的。
PHP解析与执行这段代码的步骤,是这样的:
(1)创建一个新的临时字符串。
(2)把“欢迎”加入字符串。
(3)把调用getUserInfo()函数返回的内容加入字符串。
(4)创建一个新的临时字符串。
(5)放入第一次创建的字符串。
(6)把“购物车商品数量”加入字符串。
(7)把调用ShowShopCart()函数返回的内容加入字符串。
(8)发送最终的临时字符串,打印在屏幕上。
怎么样?看起来很简单的功能,现在似乎有点儿复杂。解决的方法是,使用echo()函数的另一种写法,把小圆点换成逗号,除了具有原来相同的功能,不再新建字符串,而只是一个字符串连接操作,然后直接输出。
echo "欢迎",getUserInfo(),",购物车商品数量:",ShowShopCart();
请看,就这么简单,一个逗号完美地解决了性能问题。
在如今的Web应用中,大量使用了缓存技术,它可以降低编码侧的性能问题。但还是需要开发者在写程序时不要偷懒,多留心、留意——其实程序员与工程师的区别也在这里。