对于程序员每解决一个bug,就给自己一个提升。
的确,没有真正解决过无数的bug或问题的程序员,谈不上专家,谈不上高级程序员。而一个高级程序员正是从这种解决问题的过程中不断地历练自己,形成一套烂熟于心的问题解决思路,让自己强大的。
今天咱们就简单说说PHP程序员成长过程中经常遇到的一些问题,如果你一个也没遇到或很少遇到,那么您就是两个极端的人:要么初级入门,要么高级了,哈哈。
1
编码问题。
2
PHP和SQL数据库执行效率问题。
3
Session和Cookie域和加密解析问题。
4
程序的执行顺序问题。
5
程序编写的多环境适用问题。
6
分类的构建和结构设计问题。
7
字符串处理问题:正则表达式处理或简单PHP字符串处理函数来处理。
8
各种模板引擎的编写局限性问题。
9
PHP和web端数据交互问题(如ajax,接口调用等)。
10
如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
11
$row[’id’]的速度是$row[id]的7倍。
12
echo比print快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo$str1,$str2。
13
在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。
14
注销那些不用的变量尤其是大数组,释放内存。
15
尽量避免使用__get,__set,__autoload。
16
require_once代价昂贵。
17
include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。
18
如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVE[‘REQUEST_TIME’]要好于time。
19
函数代替正则表达式完成相同功能。
20
str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
21
如果一个字符串替换函数,可接受数组或字符作为参数,且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
22
使用选择分支语句(译注:即switchcase)好于使用多个if,elseif语句。
23
用@屏蔽错误消息的做法非常低效,极其低效。
24
打开apache的mod_deflate模块,可以提高网页的浏览速度。
25
数据库连接当使用完毕时应关掉,不要用长连接。
26
错误消息代价昂贵。
27
在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。
28
递增一个全局变量要比递增一个局部变量慢2倍。递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。php培训找云和数据。欢迎和网站客服沟通索要免费试听资格。