Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1621412
  • 博文数量: 1481
  • 博客积分: 26784
  • 博客等级: 上将
  • 技术积分: 17045
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-12 09:22
文章分类

全部博文(1481)

文章存档

2014年(10)

2013年(353)

2012年(700)

2011年(418)

分类: PHP

2013-03-27 10:20:42

这篇文章中的建议涵盖了大部分PHP代码性能方面的问题。如果你是做一些小网站或者小项目,那么有理由忽略这些建议,但是当你为大量用户提供长期稳定的服务的时候,就必须关注了。开发人员必须从项目一开始就考虑这些建议,它会极大的改善你的网站的性能。
       在PHP中,通常有很多的方法可以来达到相同的目的,但是开发人员通常选择他们最熟悉的用起来最舒服的一种方式,但是有些事必须注意的:
  1. echo比print要快很多。两个方法都会在页面上打印东西,不过echo不返回任何值,print会在成功或失败的时候返回0或1。
  2. include_once比include更加耗时。因为它需要去检查你要包含的class是否已经被包含进来。
  3. 对于长段落的字符串一定要使用单引号,而不是双引号。因为双引号会去搜索字符串中的变量。比如:echo This is long string.$name就比echo This is long string $name要快很多。
  4. 不要再循环中使用for($i=0;$i<=count($names);$i++),因为这会在每次循环的时候都会去计算数组的长度,取而代之的是使用$size=count($names);for($i=0;$i<=$size;$i++)。
  5. 如果能将函数定义为静态的,那么就不要定义成为成员函数,静态函数比成员函数快33%。
  6. 如果你可以不通过正则表达式就能解决问题,那么就别用正则。正则表达式比PHP原生的函数要慢一些。例如使用str_replace取代preg_replae。
  7. 尽量不要使用相对路径来包含文件。在相对路径中查找文件,会现在当前目录中查找,然后依次再查找。这样查找文件就很慢。最好是先定义WEB_ROOT这样的常量,然后使用这个常量来包含文件。
  8. 全等符号===比相等==要快。而且if(1 == 1)会返回true,if(0 == )也会返回true,而当你使用全等符号的时候if(1 ===1)和if(0===)都会返回false。所以当你在程序中需要检测一些布尔变量的时候最好使用全等符号。
  9. 最好别用简写的?而是使用?php,因为这会在你将程序部署在其他服务器的时候更加容易出问题。
  10. 最好不要使用和依赖于register_global或者magic_quote,读取和设置你的php.ini的时候也一定要小心。

原文地址:

阅读(746) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~