文档章节

提升PHP编程效率的20个要素

x
 xdl刘涛
发布于 2016/08/04 15:05
字数 635
阅读 2
收藏 0

 

 

提醒各位:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”

 

   1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。

 

    2、$row[’id’] 的速度是$row[id]的7倍。

 

  3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

 

  4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

 

  5、注销那些不用的变量尤其是大数组,以便释放内存。

 

  6、尽量避免使用__get,__set,__autoload。

 

  7、require_once()代价昂贵。

 

  8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。

 

  9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。

 

  10、函数代替正则表达式完成相同功能。

 

  11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。

 

  12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

 

  13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。

 

  14、用@屏蔽错误消息的做法非常低效,极其低效。

 

  15、打开apache的mod_deflate模块,可以提高网页的浏览速度。

 

  16、数据库连接当使用完毕时应关掉,不要用长连接。

 

  17、错误消息代价昂贵。

 

  18、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。

 

  19、递增一个全局变量要比递增一个局部变量慢2倍。

 

  20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。

 

© 著作权归作者所有

x
粉丝 1
博文 35
码字总数 44441
作品 0
广元
私信 提问
北京_技联网(www.tvanet.cn)_高新诚聘PHP程序员

工作性质:全职 工作地点:北京市 薪 水:4000~5999 工作经验:3年以上 学 历:本科以上 其他待遇:四险、年底分红 岗位职责: 1、 负责或参与网站及相关功能的研发; 2、 基于CMS、SNS等开...

禾木_18
2011/03/31
1K
12
90%PHP新手都不知道的编程技巧

  PHP编程有很多技巧,但是大多数新手都不了解,今天给你们分享几个技巧,主要是提升编程效率的,希望对你们有帮助。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提...

小懒人23
2016/04/21
29
0
笔记:微管理——给你一个技术团队,你该怎么管

一个开发团队包括若干靠谱的人、一套行之有效的过程体系和团队所采用的实用的技术与工具,这三者构成了高效团队的三驾马车 程序员的学习能力是指在工作过程中通过阅读书籍或通过互联网搜索手...

ZyBlog
2018/01/20
0
0
并行计算在GIS矢量数据化简中的应用

在地理信息系统中,矢量数据化简有很广的用途,例如在webgis中减少数据传输量、在制图中对数据进行抽稀等。然而GIS中数据量一般都比较大,利用单核单线程计算可能会觉得速度比较慢,在本文中...

长平狐
2013/12/25
181
0
一个高级 PHP 工程师所应该具备的

初次接触PHP,就为他的美所折服,于是一发不可收拾。 很多面试,很多人员能力要求都有“PHP高级工程师的字眼”,如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师所应该具...

oschina
2016/06/06
7.1K
25

没有更多内容

加载失败,请刷新页面

加载更多

db.properties

jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=falsejdbc.username=rootjdbc.pas......

行者终成事
15分钟前
3
0
从 Storm 到 Flink,汽车之家基于 Flink 的实时 SQL 平台设计思路与实践

在 2019 年之前,之家的大部分实时业务都是运行在 Storm 之上的。Storm 作为早期主流的实时计算引擎,凭借简单的 Spout 和 Bolt 编程模型以及集群本身的稳定性,俘获了大批用户。下图是实时计...

阿里云官方博客
15分钟前
4
0
网络安全-Day04

2.1.1 什么是SQL注入 2.1.2 注入分类 2.1.3 MySQL手工注入 2.1.4 sqlmap使用 2.1.5 总结 什么是SQL注入 SQL注入漏洞原理 什么是SQL 结构化查询语言(Structured Query Language),是一种特殊目...

Jerry1101
15分钟前
3
0
docker容器内安装yum,vim等命令,以及配置ls指令

使用国内镜像 mv /etc/apt/sources.list /etc/apt/sources.list.bakecho "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.listecho "deb http://......

长恭
16分钟前
3
0
超详细的MySQL8.0.17版本安装教程

下载MySQL MySQL的官网地址:https://www.mysql.com/。 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community Server。如图所示: 滑到页面的最下面,找到Recommended Downl...

彩色泡泡糖
19分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部