优化php代码的40条小本领实例[网站编程]
本文“优化php代码的40条小本领实例[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.假如一个办法能被静态,那就声明他为静态的,速度可提高1/4;
2.echo的效率高于print,因为echo没有返回值,print返回一个整型;
3.在循环之前设置循环的最大次数,而非在在循环中;
4.销毁变量去释放内存,分外是大的数组;
5.避免利用像__get, __set, __autoload等魔术办法;
6.requiere_once()对比耗资源;
7.在includes和requires中利用绝对途径,这样在解析途径花的时间更少;
8.假如你需求得sexinsex到脚本履行时的时间,$_SERVER['REQUSET_TIME']优于time();
9.能利用字符处理函数的,尽大概用他们,因为效率高于正则;
10.str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4;
11.假如一个函数既能承受数组又能承受简单字符做为参数,比方字符替换,并且参数列表不是太长,可以考虑多用一些简便的替换语句,一次只替换一个字
符,而不是承受数组做为查找和替换参数.大事化小,1+1>2;
12.用@掩盖错曲解降低脚本运行速度;
13.$row['id']比$row[id]速度快7倍,倡议养成数组键加引号的习惯;
14.错误信息很有效;
15.在循环里别用函数,比方For($x=0; $x < count($array); $x), count()函数在表面先计算;
16.在办法里成立部分变量速度最快,97xxoo几近和在办法里调用部分变量一样快;
17.成立一个全局变量要比部分变量要慢2倍;
18.成立一个对象属性(类里面的变量)比方($this->prop++)比部分变量要慢3倍;
19.成立一个未声明的部分变量要比一个初始化的部分变量慢9-10倍;
20.声明一个未被任何一个函数利用过的全局变量也会使性能降低(和声明相同数目的部分变量一样),PHP大概去查抄这个全局变量能否存在;
21.办法的性能和在一个类里面定义的办法的数目没有关系,因为我增添10个或多个办法到测试的类里面(这些办法在测试办法的前后)后性能没什么差别;
22.在子类里办法的性能优于在基类中;
23.只调用一个参数并且函数体为空的函数运行耗费的时间等于7-8次$localvar++运算,而一个近似的办法(类里的函数)运行等于大约15次$localvar++运算;
24.Surrounding your string by ‘ instead of ” will make things interpret a little faster since php looks for variables inside “…” but not inside ‘…’. Of course you can
only do this when you don’t need to have variables in the string.
25.当输出字符串时用逗号替换点分割更快些.注意:这只对echo起作用,这个函数能承受一些字符串作为参数;
26.在apache服务器里一个php脚本页面比呼应的HTML静态页面生成至少要多花2-10倍的时间,倡议多用些静态HTML页面和少量的脚步;
27.除非你的安装了缓存,不然你的php脚本每次被拜候都需求被重编译.倡议安装个php缓存程序,这样通过去除一些反复的编译来很明显的提高你20-100%
的性能;
28.倡议用memcached,高性能的分布式内存对象缓存系统,提高动态网络利用程序性能,减轻数据库的负担;
29.利用ip2long()和long2ip()函数把IP地址转成整型存放进数据库而非字符型.这几近能降低1/4的存储空间.同时可以很简单对地址举行排序和快速查找;
30.利用checkdnsrr()通过域名存在性来确认部份email地址的有效性,这个内置函数能保证每一个的域名对应一个IP地址;
31.假如你在利用php5和mysql4.1以上的版本,考虑利用mysql_*的改良函数mysqli_*;
32.试着喜好利用三元运算符(?:);
33.在你想在完好重做你的项目前,看看PEAR有没有你需求的.PEAR是个宏大的资源库,很多php开辟者都知道;
34.利用highlight_file()能自动打印一份很好格局化的页面源代码的副本;
35.利用error_reporting(0)函数来预防潜在的敏感信息显示给用户.抱负的错误报告应当被完好禁用在php.ini文件里.但是假如你在用一个同享的虚拟主
机,php.ini你不能改正,那么你最好增添error_reporting(0)函数,放在每个脚本文件的第一行(或用require_once()来加载)这能有效的保护敏感的SQL查询和途径在出错时不被显示;
36.利用 gzcompress() 和gzuncompress()对容量大的字符串举行紧缩(解压)在存进(取出)数据库时.这种内置的函数利用gzip算法能紧缩到90%;
37.通过参数变量地址得引用来使一个函数有多个返回值.你可以在变量前加个“&”来表示按地址传送而非按值传送;
38.Fully understand “magic quotes” and the dangers of SQL injection. I’m hoping that most developers reading this are already familiar with SQL injection. However, I list it here because it’s absolutely critical to understand. If you’ve never heard the term before, spend the entire rest of the day googling and reading.
39.利用strlen()因为要调用一些其他操作比方lowercase和hash表查询所以速度不是太好,我们可以用isset()来实现类似的功效,isset()速度优于strlen();
40.When incrementing or decrementing the value of the variable $i++ happens to be a tad slower then ++$i. This is something PHP specific and does not apply to other languages, so don’t go modifying your C or Java code thinking it’ll suddenly become faster, it won’t. ++$i happens to be faster in PHP because instead of 4 opcodes used for $i++ you only need 3. Post incrementation actually causes in the creation of a temporary var that is then incremented. While pre-incrementation increases the original value directly. This is one of the optimization that opcode optimized like Zend’s PHP optimizer. It is a still a good idea to keep in mind since not all opcode optimizers perform this optimization and there are plenty of ISPs and servers running without an opcode optimizer.
以上是“优化php代码的40条小本领实例[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |