学习PHP过程中的一些常见代码优化问题

来源:互联网 发布:网络用语ddp是什么意思 编辑:程序博客网 时间:2024/05/17 22:09

1、很多时候尽量用单引号代替双引号来包含字符串【因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会;这里需要注意的:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”】;
2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
3、$array[‘id’] 的速度是$array[id]的7倍。
4、for循环之前能确定循环最大值一定要确定,这样不会每次都进行重复确认,当然最好能用foreach。
5、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少,require_once()代价很昂贵的。
6、如果你想知道服务器端收到客户端请求的时刻,使用$_SERVER[‘REQUEST_TIME’]要比time()好;
7、尽量使用函数代替正则表达式完成相同功能;
8、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
9、记得注销那些可以不用的变量,尤其是一些大数组等,以便释放内存。
10、尽量使用选择分支语句【switch case】好于使用多个if-else if语句。
11、打开apache的mod_deflate模块,可以提高网页的浏览速度。
12、数据库连接当使用完毕时应关掉,不要用长连接。
13、递增一个全局变量要比递增一个局部变量慢2倍;递增一个对象属性要比递增一个局部变量慢3倍;递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
14、定义了一个局部变量而没在函数中调用它,一样的会减慢速度的【相当于递增一个局部变量】。
15、派生类中的方法运行起来要快于在基类中定义的同样的方法。
16、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
17、最好引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。

18、$i++会比++$i慢一些。这种差异是PHP特有的。【++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。】
19、并不需要事事都必面向对象(OOP),面向对象往往开销很大的,每个方法和对象调用都会消耗很多内存的。
20、并非要用类实现所有的数据结构,数组也很有用。
21、尽可能的使用PHP内部函数。
22、尽量用file_get_contents替代file、fopen、feof、fgets等系列方法。
23、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作。

以上只是比较常见的一些值得注意的地方,还有很多还未列出,大家可以一起提出遗漏的非常需要注意的地方【相互学习】;

0 0
原创粉丝点击