PHP常用一部分优化技巧

6个月前发布 SanS三石
38 0 0

PHP优化,提供以下几条,仅供大家参考:

1. 少用正则表达式,因为能用PHP函数的情况下,尽量用他们,效率高于正则。

没得说,正则最耗性能。

2. 尽量用单引号,因为一般字符串是没有变量的,使用双引号会导致性能不佳。

3. 使用isset代替strlen,在检验字符串长度时,我们一般会使用 strlen() 函数。虽然此函数执行起来相当快,因为它不做任何计算,但是,由于strlen()是函数,多多少少会有些慢,所以在某些情况下,我们可以使用 isset() 技巧加速执行你的代码。

4.echo效率高于print,因为echo没有返回值,print返回一个整型。

5.在includerequire中尽量使用绝对路径。因为包含相对路径,PHP会在include_path里面遍历查找文件,会影响效率。

6. 在可以用file_get_contents()替代file()fopen()feof()fgets()等系列方法的情况下,尽量用file_get_contents()。因为他的效率高得多!

7. 在传参方面通过参数地址引用的方式,实现函数多个返回值,这比按值传递效率高。方法是在参数变量前加个 &

8. 使用选择分支语句(switch case)好于使用多个if,else if语句。

9. 尽量静态化,如果一个方法能被静态,那就声明它为静态的,速度可提高1/4

10. 使用$_SERVER变量,如果你需要得到脚本执行的时间,$_SERVER[REQUSET_TIME]优于time()。一个是现成就可以直接用,一个还需要函数得出的结果。

11.使用++$i递增,当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的。

12. 循环用foreach,尽量用foreach代替whilefor循环,效率更高。

13. 压缩输出,在php.ini中开启gzip压缩:

zlib.output_compression = On
zlib.output_compression_level = (level)

如果你使用apache,也可以激活mod_gzip模块。

14. 静态化页面,Apache/Nginx解析一个PHP脚本的时间,要比解析一个静态HTML页面慢210倍。所以尽量使页面静态化,或使用静态HTML页面。

15. 提高性能的最简单的方式是不断升级、更新PHP版本。

16. 多多利用PHP的扩展

17. PHP缓存一般情况下,PHP脚本被PHP引擎编译后执行,会被转换成机器语言,也称为操作码。如果PHP脚本反复编译得到相同的结果,为什么不完全跳过编译过程呢?PHP加速器缓存了编译后的机器码,允许代码根据要求立即执行,而不经过繁琐的编译过程。对PHP开发人员而言,目前提供了两种可用的缓存方案。一种是APC(Alternative PHP Cache,可选PHP缓存),它是一个可以通过PEAR安装的开源加速器。另一种流行的方案是OPCode,也就是操作码缓存技术。

18. 仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)

19. 使用NoSQL缓存,Memchached或者Redis都可以。这些是高性能的分布式内存对象缓存系统,能提高动态网络应用程序性能,减轻数据库的负担。这对运算码 (OPcode)的缓存也很有用,使得脚本不必为每个请求重新编译。

20. echo 输出字符串用逗号代替点连接符更快些。虽然,echo是一种语言结构,不是真正的函数。但是,它可以把逗号隔开的多个字符串当作“函数”参数传入,所以速度会更快。

21. 在循环里别用函数,因为函数现在外面计算。

22. 服务器使用Linux系统,这个我就不过多解释了。

23. 用i+=1代替i=i+1。符合c/c++的习惯,效率还高。

24. 数据库连接当使用完毕时应关掉,不要用长连接。

25.并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

26.多维数组尽量不要循环嵌套赋值。

27.对global变量,应该用完就unset()掉

最后再提醒一下在代码优化的时候应该注意的事情:

1. 查询多次的最好缓存
因为可以提升效率,不用麻烦的在去数据库执行一次了。

2. 在写程序的时候更应该注重程序的扩展性,而不是追求速度。

3. 在优化你的代码之前,先看看跟数据库有关的部分,因为大多数应用程序的瓶颈在数据库而不是代码。

注意:优化还有很多,需要自己去发现,以上是自己开发阶段整理的,仅供参考。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...