38条技巧优化PHP代码(总结)-php教程

资源魔 24 0

一、假如一个办法能被动态,那就申明他为动态的,速率可进步1/4;

二、echo的效率高于print,由于echo不前往值,print前往一个整型;

三、正在轮回以前设置轮回的最年夜次数,而非正在正在轮回中;

四、销毁变量去开释内存,特地是年夜的数组;

五、防止应用像__get, __set, __autoload等魔术办法;

六、requiere_once()比拟耗资本;

七、正在includes以及requires中应用相对门路,这样正在剖析门路花的工夫更少;

八、假如你需求患上sexinsex到剧本执行时的工夫,$_SERVER['REQUSET_TIME']优于time();

九、能应用字符解决函数的,只管即便用他们,由于效率高于正则;

十、str_replace字符交换比正则交换preg_replace快,但strtr比str_replace又快1/4;

十一、假如一个函数既能承受数组又能承受简略字符做为参数,例如字符交换,而且参数列表没有是过长,能够思考多用一些简约的交换语句,一次只交换一个字符,而没有是承受数组做为查找以及交换参数。小事化小,1+1>2;

十二、用@掩饰笼罩谬误会升高剧本运转速率;

1三、$row['id']比$row[id]速率快7倍,倡议养成数组键加引号的习气;

1四、谬误信息颇有用;

1五、正在轮回里别用函数,例如For($x=0; $x < count($array); $x), count()函数正在里面先较量争论;

1六、正在办法里建设部分变量速率最快,97xxoo简直以及正在办法里挪用部分变量同样快;

1七、建设一个全局变量要比部分变量要慢2倍;

1八、建设一个工具属性(类外面的变量)例如($this->prop++)比部分变量要慢3倍;

1九、建设一个未申明的部分变量要比一个初始化的部分变量慢9-10倍;

20、申明一个未被任何一个函数应用过的全局变量也会使功能升高(以及申明相反数目的部分变量同样),PHP可能去反省这个全局变量能否存正在;

2一、办法的功能以及正在一个类外面界说的办法的数量不关系,由于我增加10个或多个办法到测试的类外面(这些办法正在测试办法的先后)后功能没甚么差别;

2二、正在子类里办法的功能优于正在基类中;

2三、只挪用一个参数而且函数体为空的函数运转破费的工夫等于7-8次$localvar++运算,而一个相似的办法(类里的函数)运转等于约莫15次$localvar++运算;

2四、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.

2五、当输入字符串时用逗号替代点宰割更快些。留意:这只对echo起作用,这个函数能承受一些字符串作为参数;

2六、正在apache效劳器里一个php剧本页面比相应的HTML动态页面天生至多要多花2-10倍的工夫,倡议多用些动态HTML页面以及大批的脚步;

2七、除了非你的装置了缓存,否则你的php剧本每一次被拜访都需求被重编译。倡议装置个php缓存顺序,这样经过去除了一些反复的编译来很显著的进步你20-100%的功能;

2八、倡议用memcached,高功能的散布式内存工具缓存零碎,进步静态网络使用顺序功能,加重数据库的累赘;

2九、应用ip2long()以及long2ip()函数把IP地点转成整型寄存进数据库而非字符型。这简直能升高1/4的存储空间。同时能够很容易对地点进行排序以及疾速查找;

30、应用checkdnsrr()经过域名存正在性来确认局部email地点的无效性,这个内置函数能保障每个的域名对应一个IP地点;

3一、试着喜爱应用三元运算符(?:);

3二、正在你想正在彻底重做你的名目前,看看PEAR有无你需求的。PEAR是个微小的资本库,不少php开发者都晓得;

3三、应用highlight_file()能主动打印一份很好格局化的页面源代码的正本;

3四、应用error_reporting(0)函数来预防潜正在的敏感信息显示给用户。理想的谬误陈诉应该被齐全禁用正在php.ini文件里。可是假如你正在用一个同享的虚构主机,php.ini你不克不及修正,那末你最佳增加error_reporting(0)函数,放正在每一个剧本文件的第一行(或用 require_once()来加载)这能无效的维护敏感的SQL查问以及门路正在犯错时没有被显示;

3五、应用 gzcompress() 以及gzuncompress()对容量年夜的字符串进行紧缩(解压)正在存进(掏出)数据库时。这类内置的函数应用gzip算法能紧缩到90%;

3六、经过参数变量地点患上援用来使一个函数有多个前往值。你能够正在变量前加个“&”来示意按地点通报而非按值通报;

3七、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.

3八、应用strlen()由于要挪用一些其余操作例如lowercase以及hash表查问以是速率没有是太好,咱们能够用isset()来完成类似的性能,isset()速率优于strlen();

更多相干php常识,请拜访php教程!

以上就是38条技术优化PHP代码(总结)的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!