PHP代码优化

来源:互联网 发布:淘宝鞋店店铺简介 编辑:程序博客网 时间:2024/04/30 00:49

1. 如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。

2. 如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。

3. 使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。echo 'xx',$test,$a;

4. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 for($i = 0,$index=count($arr);$i < $index; $i++){}

5. 注销那些不用的变量尤其是大数组,以便释放内存。特别是循环或递归操作

6. 尽量避免使用__get,__set,__autoload。php找不到合适的  最后才用魔术方法

7. require_once()代价昂贵。

8. 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。

9. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。

10. 检查是否能用strncasecmp,strpbrk,stripos函数代替正则表达式完成相同功能。尽量少用正则

11. str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。strtr ==> linux 下tr命令

12. 使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。

13.用@屏蔽错误消息的做法非常低效。多一些步骤

14. 打开apache的mod_deflate模块。同gzip类似

15. 数据库连接当使用完毕时应关掉。

16. $row[‘id’]的效率是$row[id]的7倍。php会先将后者解析为常量 找不到在转换为字符

17. 错误消息代价昂贵。

18. 递增一个全局变量要比递增一个局部变量慢2倍。可使用返回局部变量避免

19. 递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

20. 递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。

21. 仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。

22. 派生类中的方法运行起来要快于在基类中定义的同样的方法。

24. 用单引号代替双引号来包含字符串,这样做会更快一些。php单双引号区别

25. isset($arr['key']) << array_key_exists($key, $search) || (strlen($foo) < 5) >>  !isset($foo{5}) 原因同样是语言结构与函数的区别

26. 当执行变量$i的递增或递减时,$i++会比++$i慢一些。

27. 尽量采用PHP内置函数。

0 0
原创粉丝点击