PHP代码优化

来源:互联网 发布:教育行业网络推广方案 编辑:程序博客网 时间:2024/06/06 08:27

通常在项目完成后,你觉得它应该有更加快速的反应时,就可以来做PHP代码层面的优化了。当然这只是一个通俗的做法,毕竟萝卜白菜各有所爱,能在开发的过程中时刻谨记并完成最快速的可用代码则是一件令人振奋的事情。

本文仅述我在开发过程中所遇到的应该优化的代码,本文是一篇长期更新的文章。

1、单引号与双引号
当一行字符串可以使用单引号也可以使用双引号的时候,推荐使用单引号。
双引号时PHP会搜索看字符串中有没有变量需要进行转换,而单引号则没有此步骤,所以单引号的速度快于双引号!

2、循环阀值不要用表达式
使用循环来处理数据的时候,阀值设置不要用表达式,使用表达式来做阀值,那样每循环一次都要计算一次阀值量!
使用代码段A,而不要使用代码段B的方式:

代码段A(推荐):$count = count($info);for($i = 0;$i < $count;$i++){}代码段B(不推荐):for($i = 0;$i < count($info);$i++){}

3、类中不写无用的函数
能直接对类中的变量进行赋值,就不要写单纯的赋值(取值)函数set(get),使用赋值(取值)函数比直接赋值要慢。

class A {    public $name;    public function setName($value){        $this->name = $value;    }    public function getName(){        return $this->name;    }}

以上示例代码中的setName与getName函数就属于单一功能的多余函数,使用$x = new A();$x->name = value;的方式赋值快于$x = new A();$x->setName(value);的方式。

4、可以用file_get_contents时尽量使用它
当对某个文件进行操作时可以使用file_get_contents来代替fopen\fgets等一系列操作的时候,不需要犹豫,使用file_get_contents会让你的代码运行速度更快。
file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。

5、多分支时选择switch
当有多种选择时,使用switch case要明显强于使用多个if elseif,不仅仅表现在代码结构上,在速度上也更快一些。

6、注意__autoload()函数
函数__autoload()的作用是自动加载类,即在当前文件中进行操作时,并没有包含所请求的类,在PHP返回错误之前,会尝试进行自动加载类,使用的就是__autoload()函数。使用自动加载函数会降低速度,它需要进行一个“尝试加载后再运行”的步骤,包含文件应该在文件头部写明。

0 0