php代码优化技巧
众所周知,高质量的代码可以减轻服务器的压力,同时也能让人赏心悦目。
以下是本人近期总结的优化技巧:
- 能不用正则解决的问题,尽量不用正则;
- 在includes和requires中使用绝对路径,这样在分析路径花的时间更少;
- 使用requiere_once代价比requiere高;
- str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍;
- 多个分支的条件判断用switch、case优于if、elseif;
- 尽量少用@屏蔽错误,这样做效率灰常低;
- echo 比 print快,echo 可以打印用逗号分割的字符串;
- 执行for循环之前确定最大循环数,而不是每次循环都去计算最大值,可以的话尽量使用foreach代替;
- 尽量使用PHP的内置函数;
- 并不是所有情况都必须使用面向对象开发,面向对象往往开销很大,每个方法和对象调用都会消耗很多内存;
- 如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍;
- 递增一个对象属性,要比递增一个局部变量慢3倍;
- 派生类中的方法运行起来要快于在基类中定义的同样的方法;
- 用单引号替代双引号引用字符串;
- 在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多;
- 尽量做缓存,例如 memcached、redis;
- 尽量多用静态HTML页面,少用脚本,服务器解析一个PHP脚本的时间要比一个静态html页面要慢2-10倍;
- 尽量少用global变量,对global变量,应该用完就unset()掉;
- 禁止过多的循环套循环,嵌套过多的循环会拉低执行效率;
- 开启服务器gzip压缩。