专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » php编程:如何使用PHP编程介绍说明 »正文

php编程:如何使用PHP编程介绍说明

来源: 发布时间:星期二, 2008年12月30日 浏览:36次 评论:0
面向对象编程思路方法

PHP 也是种面向对象语言面向对象编程思路方法是优秀员们非常推崇种软件Software设计思路方法在PHP编程中可以充分发挥面向对象语言优势对编程中对象进行封装在前面代码中我们使用了面向对象思路方法例如在管理数据库时我们将query封装进数据库类中这极大地方便了代码管理增加了可读性

  3、追求速度而不是编程速度

在网站WebSite建设中运行速度和网页下载速度都是关系成败重要原因作为名Web应该更加注意代码运行速度下面介绍几种思路方法都在区别程度上提高了代码运行速度

 1.使用内嵌HTML代码而不是PHPecho语句

 PHP是门嵌入式Web编程语言可以将HTML代码和PHP代码相互嵌入但是很多员担心在HTML代码中过多使用""嵌入PHP代码会多次PHP解释器从而降低了PHP代码运行速度所以宁愿使用PHPecho语句来输出HTML代码而不直接使用HTML代码但事实却恰恰相反个PHP页面只次PHP解释器来解释所有PHP代码所以只在需要时才嵌入PHP代码而大多数时候直接使用HTML代码输入结果不但不会降低运行速度而且减少了对echo语句解析往往可以提高代码运行速度

下面段代码证明了我们结论在这段代码中我们使用了前面介绍时间测试

 使用str-replace而不是ereg-replace
习惯使用Perl进行编程员更加愿意使用ereg_replace完成串替换工作在PHP中ereg_replace使用方法和Perl中模式匹配使用方法相近但是下面这段代码证明使用str_replace 代替 ereg_replace将可以大大提高代码运行速度

 测试str_replace和ereg_replace运行速度

 //这段代码测试str_replace运行速度
emphasis; ?>
for ($i=0; $i<1000; $i++) { 
      str_replace(i>, b>, $).
}
?>

//这段代码测试ereg_replace运行速度
for ($i=0; $i<1000; $i++) { 
      ereg_replace(<([/]*)i>, <\1b>, $).
}
?>
//打印结果

结论

使用str_replace时间 -
使用ereg_pattern时间 -

运行上面代码得到结果是:

 使用str_replace时间 - 0.089757
使用ereg_pattern时间 - 0.248881

从运行结果我们可以看出使用str_replace替代ereg_replace作为串替换极大地提高了代码运行速度

3.注意引用

PHP 和其它很多编程语言可以使用双引号("")来引用也可以使用单引号()但是在PHP中如果使用双引号来引用那么PHP解析器将首先分析串中有没有对变量引用有变量将对变量进行替换如果是单引号则没有如此复杂——直接将单引号包含起来所有串直接显示出来显然在PHP编程中如果使用单引号引用串变量要比使用双引号快速

4.在数据库中避免使用联合操作

比起其它Web编程语言来说PHP数据库功能十分强大但是在PHP中数据库运行仍然是件十分费时费力事情所以作为个Web要尽量减少数据库查询操作同时应该为数据库建立适当索引件值得注意事情是在用PHP操作数据库时尽可能不使用多个数据表联合操作尽管联合操作可以增强数据库查询功能但是却大大增加了服务器负担

 为了介绍说明这个问题我们可以看看下面这个简单例子

 我们在数据库中创建了两个数据表foo和big_foo在数据表foo中只有个字段包含了从1-1000的间所有自然数数据表big_foo同样只有个字段但包含了从1-1,000,000的间全部自然数所以从大小上说big_foo等于foo和它自身进行了联合操作

 $db->query("select * from foo");
0.032273 secs
$db->next_record;
0.00048999999999999 secs
$db->query("insert o foo values (NULL)");
0.019506 secs
$db->query("select * from foo as a, foo as b");
17.280596 secs
$db->query("select * from foo as a, foo as b where a.id > b.id");
14.645251 secs
$db->query("select * from foo as a, foo as b where a.id = b.id");
0.041269 secs
$db->query("select * from big_foo");
25.393672 secs

从上面操作结果我们可以发现对于两个有1000条记录数据表进行联合其速度并不比对个1000000条纪录大型数据表单独进行操作快多少

 5.注意和require区别

 在PHP变成中和require功能相同但在使用方法上却有些区别是有条件包含而require则是无条件包含例如在下面个例子中如果变量$somgthing为真则将包含文件somefile:

($something){ 
      ("somefile");
}

但不管$something取何值下面代码将把文件somefile包含进文件里:

($something){ 
      require("somefile");
}

下面这个有趣例子充分介绍说明了这两个的间区别

$i = 1;
while ($i < 3) { 
      require("somefile.$i"); 
      $i++;
}

在这段代码中次循环时候都将把同个文件包含进去很显然这不是初衷从代码中我们可以看出这段代码希望在每次循环时将区别文件包含进来如果要完成这个功能必须求助:

 $i = 1;
while ($i < 3) {
("somefile.$i");
$i++;
}

6.注意echo和pr区别

PHP中echo和pr功能也基本相同但是两者的间也有细微差别在PHP代码中可以把pr作为个普通来使用例如执行下面代码后变量$res值将为1
$ret = pr "Hello World";

这意味着pr可用在些复杂表达式中而echo则不行同样在代码中echo语句运行速度要略微快于pr语句echo语句不要求返回任何数值.

TAG: PHP


相关文章

读者评论

发表评论

  • 昵称:
  • 内容: