PHP开发经验总结 PHP开发经验总结

原文: PHP开发经验总结

1.使用内嵌的HTML代码,而不是PHP的echo语句。 

由于PHP是一门嵌入式Web编程语言,能够将HTML代码和PHP代码相互嵌入。可是不少程序员担忧在HTML代码中过多的使用”"嵌入PHP代码会屡次调用PHP解释器,从而下降了PHP代码的运行速度,因此宁愿使用PHP的echo语句来输出HTML代码,而不直接使用HTML代码。但事实却偏偏相反。每个PHP页面只调用一次PHP解释器来解释全部的PHP代码,因此,只在须要时才嵌入PHP代码,而大多数的时候直接使用HTML代码输入结果,不但不会下降程序的运行速度,并且由于减小了对echo语句的解析,每每能够提升代码的运行速度。 


2.尽可能使用str-replace而不是ereg-replace 

习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工做,由于在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。可是,下面的这段代码证实,使用str_replace 代替 ereg_replace将能够大大提升代码的运行速度。 



3.注意字符串的引用 

PHP和其它不少编程语言同样,可使用双引号("")来引用字符串,也可使用单引号()。可是在PHP中,若是使用双引号来引用字符串,那么PHP解析器将首先分析字符串中有没有对变量的引用,有变量的话,将对变量进行替换。若是是单引号,则没有如此复杂——直接将单引号包含起来的全部字符串直接显示出来。显然,在PHP编程中,若是使用单引号引用字符串变量要比使用双引号快速一些。 


4.在执行for循环以前肯定最大循环数,不要每循环一次都计算最大值 
<!--p 
//不要这样作 
for ($i=0;$i<=count($array);$i++){ 
    ... 

//应该这样作 
$array_length = count($array); 
for ($i=0;$i<=$array_length;$i++){ 
    ... 

--> 

5.注意include与require的区别 

在PHP变成中,include()与require()的功能相同,但在用法上却有一些不一样,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,若是变量$somgthing为真,则将包含文件somefile 
if($something){ 
    include(“somefile.txt”); 

但无论$something取何值,下面的代码将把文件somefile包含进文件里: 
if($something){ 
    require(“somefile.txt”); 



6.作数据库查询操做时,应尽可能避免联合操做 

比起其它的Web编程语言来讲,PHP的数据库功能十分强大。 
可是在PHP中数据库的运行仍然是一件十分费时费力的事情,因此,做为一个Web程序员,要尽可能减小数据库的查询操做,同时应该为数据库创建适当的索引。 
另外一件值得注意的事情是在用PHP操做数据库时,尽量不使用多个数据表的联合操做,尽管联合操做能够加强数据库的查询功能,可是却大大增长了服务器的负担。 


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


8.不必定必需要面向对象,面向对象是比较耗时的。有些简单的操做仍是过程的快。 


9.$row['id']的速度是$row[id]的7倍 


10.echo 比 print 快,而且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串链接 

好比echo $str1,$str2。 


11.当if…else…嵌套比较多时,应选择switch….case 


12.将不用的mysql查询结果要及时地释放掉(mysql_free_result()) 


13.isset()和empty()的区别 

二者都是测试变量用的 
可是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空 
若是一个变量没被赋值就引用在php里是被容许的,但会有notice提示 
若是一个变量被赋空值,$foo=”"或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。 

要注销一个变量,能够用 unset($foo)或者$foo=NULLphp

相关文章
相关标签/搜索