仓酷云

标题: PHP网页设计技能:PHP开辟网站法式代码的优化办法 [打印本页]

作者: 谁可相欹    时间: 2015-2-4 00:01
标题: PHP网页设计技能:PHP开辟网站法式代码的优化办法
完成一个功能齐全的动态站点     若何没落或优化那PHP开辟网站法式的代码呢?
  这一点上我团体最次要的经历只要两点,一是消弭毛病的或低效的轮回;二是优化数据库查询语句。其实还存在一些其它的优化细节,好比“str_replace比ereg_replace快”、“echo比print快”等等。这些我临时都放在一边,稍后我会提到用缓存来凑合过于频仍的IO。

  上面咱们将三个功效不异,但法式写法分歧的函数的效力(损耗的工夫)停止对照。

  webjx.php
<?php
require_once('Benchmark/Iterate.php');
define('MAX_RUN',100);
$data = array(1, 2, 3, 4, 5);

doBenchmark('v1', $data);
doBenchmark('v2', $data);
doBenchmark('v3', $data);
function doBenchmark($functionName = null, $arr = null)
{
 reset($arr);
 $benchmark = new Benchmark_Iterate;
 $benchmark->run(MAX_RUN, $functionName, $arr);
 $result = $benchmark->get();
 echo '<br>';
 printf("%s ran %d times where average exec time %.5f ms",$functionName,$result['iterations'],$result['mean'] * 1000);
}

function v1($myArray = null) {
 // 效力很差的轮回
 for ($i =0; $i < sizeof($myArray); $i++)
 {
  echo '<!--' . $myArray[$i] . ' --> ';
 }
}


function v2($myArray = null) {
 // 效力略有进步
 $max = sizeof($myArray);
 for ($i =0; $i < $max ; $i++)
 {
  echo '<!--' . $myArray[$i] . ' --> ';
 }
}

function v3($myArray = null){
 //最好效力
 echo "<!--", implode(" --> <!--", $myArray), " --> ";
}

?>  法式输入的了局也许是如许的:

  v1 ran 100 times where average exec time 0.18400 ms
  v2 ran 100 times where average exec time 0.15500 ms
  v3 ran 100 times where average exec time 0.09100 ms

  可以看到,函数的履行工夫变少,效力上升。

  函数v1有个很分明的毛病,每次轮回的工夫,都需求挪用sizeof()函数来盘算。 函数v2则在轮回外把$myArray数组的元素个数存到$max变量中,防止了每次轮回都要盘算数组的元素个数,所以效力进步了。函数v3的效力最高,使用了现成的函数,防止轮回。

  这个例子只是给你一个理性的熟悉,分明甚么是绝对高效的代码。在实践开辟中,我信任会有良多人会恍恍惚惚地写出良多低效力的代码。要把代码写得精华精辟而高效,生怕需求工夫去锻炼:-) 但这是另外一个话题了,咱们略过不谈。

  数据库使用根基上每一个PHP法式城市用到,在实践开辟中我发明最影响全部体系效力的就是数据库这部分。至于数据库的优化和数据查询语句的优化,在此限于篇幅不具体会商。
不懂的问题有很多高手帮你解决。但不要认为你是新手,就不能帮助别人,比如今天你学会了怎样安装PHP,明天还可能有朋友会问这个问题,你就可以给他解答,不要认为这是浪费时间,忙别人其实就是帮助自己。
作者: 飘灵儿    时间: 2015-2-4 08:03
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 仓酷云    时间: 2015-2-9 19:49
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 透明    时间: 2015-2-10 04:56
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 莫相离    时间: 2015-2-28 20:48
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 再现理想    时间: 2015-3-1 09:26
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 愤怒的大鸟    时间: 2015-3-10 12:28
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 若天明    时间: 2015-3-13 08:07
爱上php,他也会爱上你。
作者: 分手快乐    时间: 2015-3-20 16:43
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 老尸    时间: 2015-3-20 18:17
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 柔情似水    时间: 2015-4-2 19:53
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 兰色精灵    时间: 2015-4-5 10:05
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者: 只想知道    时间: 2015-4-21 05:03
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 谁可相欹    时间: 2015-4-26 04:42
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 飘飘悠悠    时间: 2015-4-26 21:51
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 金色的骷髅    时间: 2015-5-8 04:09
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 蒙在股里    时间: 2015-5-10 07:48
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 深爱那片海    时间: 2015-6-10 07:54
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: admin    时间: 2015-6-17 20:26
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2