仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1224|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页设计技能:PHP开辟网站法式代码的优化办法

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:01:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 02:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表