管家婆 源码 php,优化 PHP 代码技能

优化 PHP 代码技能

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. 建树一个全局变量要比局部变量要慢 2 倍;

17. 建树一个对象属性(类里面的变量)例如(¥this- >prop++)比局部变量要慢 3 倍;

18. 建树一个未声明的局部变量要比一个初始化的局部变量慢 9-10 倍;

19. 明一个未被任何一个函数应用过的全局变量也会使机能降落( 和声明雷同数量的局部变

量一样),PHP 可能去搜检这个全局变量是否存在;

20. 办法的机能和在一个类里面定义的办法的数量没有关系,因为我添加 10 个或多个办法

到测试的类里面(这些办法在测试办法的前后)后机能没什么差别;

21. 在子类里办法的机能优于在基类中;

22. 只调用一个参数并且函数体为空的函数运行花费的时候便是 7-8 次¥localvar++运算,而

一个类似的办法(类里的函数)运行便是大约 15 次¥localvar++运算;

23. 当输出字符串时用逗号庖代点分别更快些。重视:这只对 echo 起感化,这个函数能接

受一些字符串作为参数;

24. 在 apache 办事器里一个 php 脚本页面比响应的 HTML 静态页面生成至少要多花 2-10 倍

的时候,建议多用些静态 HTML 页面和少量的脚步;

25. 除非你的安装了缓存,不然你的 php 脚本每次被接见都须要被重编译。建议安装个 php

缓存法度,如许通畴昔除一些反复的编译来很明显的进步你 20-100%的机能;

26. 建议用 memcached,高机能的分布式内存对象缓存体系,进步动态收集应用法度机能,

减轻数据库的肩负;

27. 应用 ip2long()和 long2ip()函数把 IP 地址转成整型存放进数据库而非字符型。这几乎能降

低 1/4 的存储空间。同时可以很轻易对地址进行排序和快速查找;

28. 应用 checkdnsrr()经由过程域名存在性来确认项目组 email 地址的有效性,这个内置函数能包管

每一个的域名对应一个 IP 地址;

29. 若是你在应用 php5 和 mysql4.1 以上的版本,推敲应用 mysql_的改进函数 mysqli_;

30. 试着喜好应用三元运算符(?:);

31. 在你想在重做你的项今朝,看看 PEAR 有没有你须要的。PEAR 是个重大的资料库,

很多 php 开辟者都知道;

32. 应用 highlight_file()能主动打印一份很好格局化的页面源代码的副本;

33. 应用 error_reporting(0)函数来预防潜伏的敏感信息显示给用户。幻想的错误呈报应当被

完全禁用在 php.ini 文件里。可是若是你在用一个共享的虚拟主机, php.ini 你不克不及批改,

那么你好添加 error_reporting(0) 函数,放在每个脚本文件的第一行 ( 或用

require_once()来加载)这能有效的保护敏感的 SQL 查询和路径在失足时不被显示;

34. 应用 gzcompress() 和 gzuncompress()对容量大的字符串进行紧缩(解压)在存进( 取出)数

据库时。这种内置的函数应用 gzip 算法能紧缩到 90%;

35. 经由过程参数变量地址得引用来使一个函数有多个返回值。你可以在变量前加个“&”来默示

按地址传递而非按值传递;

36. 应用 strlen()因为要调用一些其他操纵例如 lowercase 和 hash 表查询所以速度不是太好,

我们可以用 isset()来实现类似的功能,isset()速度优于 strlen();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值