购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.24 手册上的小瑕疵

到这里,我在想很多人,也包括我自己,以前会写类似这样的代码:


echo "欢迎".getUserInfo().",购物车商品数量:".ShowShopCart();
  

乍一看代码写得没有什么毛病,这种相似的代码例子在PHP手册上就存在。从编译上来看,这段字符串在输出之前实际上运行了3次!这是为什么?我们看一下PHP是如何执行这段代码的。

PHP解析与执行这段代码的步骤,是这样的:

(1)创建一个新的临时字符串。

(2)把“欢迎”加入字符串。

(3)把调用getUserInfo()函数返回的内容加入字符串。

(4)创建一个新的临时字符串。

(5)放入第一次创建的字符串。

(6)把“购物车商品数量”加入字符串。

(7)把调用ShowShopCart()函数返回的内容加入字符串。

(8)发送最终的临时字符串,打印在屏幕上。

怎么样?看起来很简单的功能,现在似乎有点儿复杂。解决的方法是,使用echo()函数的另一种写法,把小圆点换成逗号,除了具有原来相同的功能,不再新建字符串,而只是一个字符串连接操作,然后直接输出。


echo "欢迎"getUserInfo(),",购物车商品数量:"ShowShopCart();
  

请看,就这么简单,一个逗号完美地解决了性能问题。

在如今的Web应用中,大量使用了缓存技术,它可以降低编码侧的性能问题。但还是需要开发者在写程序时不要偷懒,多留心、留意——其实程序员与工程师的区别也在这里。 ZyVCyhm/OHjMqnjFc9NkJQJB0cMlaAZT5zGNspqS8RzwAhChN5/VaGc3jLHH0YA7

点击中间区域
呼出菜单
上一章
目录
下一章
×