仓酷云

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

[学习教程] PHP网页编程之50点进步PHP编程效力 引入缓存提拔功能...

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:34:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
从刚开始练习的PHP基础语法练习,到PHP语言在WEB中的应用,再到实际的项目开发,如留言版,相册系统,中小型公司网站系统,以及期间做过的有关团队合作的小游戏,让我受益匪浅,学到了很多。      0、用单引号取代双引号来包括字符串,如许做会更快一些。由于PHP会在双引号包抄的字符串中搜索变量,单引号则不会,注重:只要echo能这么做,它是一种可以把多个字符串看成参数的“函数”(译注:PHP手册中说echo是言语布局,不是真实的函数,故把函数加上了双引号)。
  1、假如能将类的办法界说成static,就尽可能界说成static,它的速度会提拔快要4倍。
  2、$row[’id’] 的速度是$row[id]的7倍。
  3、echo 比 print 快,而且利用echo的多重参数(译注:指用逗号而不是句点)取代字符串联接,好比echo $str1,$str2。
  4、在履行for轮回之前肯定最大轮回数,不要每轮回一次都盘算最大值,最好应用foreach取代。
  5、刊出那些不必的变量特别是大数组,以便释放内存。
  6、尽可能防止利用__get,__set,__autoload。
  7、require_once()价值昂贵。
  8、include文件时尽可能利用相对途径,由于它防止了PHP去include_path里查找文件的速度,解析操作体系途径所需的工夫会更少。
  9、假如你想晓得剧本入手下手履行(译注:即办事器端收到客户端恳求)的时辰,利用

  1. $_SERVER["REQUEST_TIME"]
复制代码
  要好过

  1. time()
复制代码
  10、函数取代正则表达式完成不异功效。
  11、str_replace函数比preg_replace函数快,但strtr函数的效力是str_replace函数的四倍。
  12、假如一个字符串交换函数,可承受数组或字符作为参数,而且参数长度不太长,那末可以思索额定写一段交换代码,使得每次传递参数是一个字符,而不是只写一行代码承受数组作为查询和交换的参数。
  13、利用选择分支语句(译注:即switch case)好过利用多个if,else if语句。
  14、用@屏障毛病动静的做法十分低效,极为低效。
  15、翻开apache的mod_deflate模块,可以进步网页的阅读速度。
  16、数据库毗连当利用终了时应关失落,不要用长毗连。
  17、毛病动静价值昂贵。
  18、在办法中递增部分变量,速度是最快的。几近与在函数中挪用部分变量的速度相当。
  19、递增一个全局变量要比递增一个部分变量慢2倍。
  20、递增一个对象属性(如:$this->prop++)要比递增一个部分变量慢3倍。
  21、递增一个未预界说的部分变量要比递增一个预界说的部分变量慢9至10倍。
  22、仅界说一个部分变量而没在函数中挪用它,一样会减慢速度(其水平相当于递增一个部分变量)。PHP也许会反省看是不是存在全局变量。
  23、办法挪用看来与类中界说的办法的数目有关,由于我(在测试办法之前和以后都)添加了10个办法,但功能上没有变更。
  24、派生类中的办法运转起来要快于在基类中界说的一样的办法。
  25、挪用带有一个参数的空函数,其消费的工夫相当于履行7至8次的部分变量递增操作。相似的办法挪用所消费的工夫接近于15次的部分变量递增操作。
  26、Apache解析一个PHP剧本的工夫要比解析一个静态HTML页面慢2至10倍。尽可能多用静态HTML页面,罕用剧本。
  27、除非剧本可以缓存,不然每次挪用时城市从头编译一次。引入一套PHP缓存机制凡是可以提拔25%至100%的功能,以避免除编译开支。
  28、尽可能做缓存,可以使用memcached。memcached是一款高功能的内存对象缓存体系,可用来减速静态Web使用法式,加重数据库负载。对运算码 (OP code)的缓存很有效,使得剧本不用为每一个恳求做从头编译。
  29、当操作字符串并需求查验其长度是不是知足某种请求时,你想固然地会利用strlen()函数。此函数履行起来相当快,由于它不做任何盘算,只前往在zval 布局(C的内置数据布局,用于存储PHP变量)中存储的已知字符串长度。然而,因为strlen()是函数,多几何少会有些慢,由于函数挪用会经由诸多步调,如字母小写化(译注:指函数名小写化,PHP不辨别函数名巨细写)、哈希查找,会跟从被挪用的函数一同履行。在某些情形下,你可使用isset() 技能减速履行你的代码。
  (举例以下)
  if (strlen($foo) < 5) { echo “Foo is too short”$$ }
  (与上面的技能做对照)
  if (!isset($foo{5})) { echo “Foo is too short”$$ }
  挪用isset()刚巧比strlen()快,由于与后者分歧的是,isset()作为一种言语布局,意味着它的履行不需求函数查找和字母小写化。也就是说,实践上在查验字符串长度的顶层代码中你没有花太多开支。
  30、当履行变量$i的递增或递加时,$i++会比++$i慢一些。这类差别是PHP独有的,其实不合用于其他言语,所以请不要修正你的C或Java代码并期望它们能当即变快,没用的。++$i更快是由于它只需求3条指令(opcodes),$i++则需求4条指令。后置递增实践上会发生一个一时变量,这个一时变量随后被递增。而前置递增直接在原值上递增。这是最优化处置的一种,正如Zend的PHP优化器所作的那样。切记这个优化处置不掉为一个好主张,由于并非一切的指令优化器城市做一样的优化处置,而且存在大批没有拆卸指令优化器的互联网办事供应商(ISPs)和办事器。
  31、并非事必面向对象(OOP),面向对象常常开支很大,每一个办法和对象挪用城市损耗良多内存。
  32、并不是要用类完成一切的数据布局,数组也很有效。
  33、不要把办法细分得过量,细心想一想你真正盘算重用的是哪些代码?
  34、当你需求时,你总能把代码分化成办法。
  35、尽可能采取大批的PHP内置函数。
  36、假如在代码中存在大批耗时的函数,你可以思索用C扩大的体例完成它们。
  37、评价查验(profile)你的代码。查验器会告知你,代码的哪些局部损耗了几何工夫。Xdebug调试器包括了查验法式,评价查验整体上可以显示出代码的瓶颈。
  38、mod_zip可作为Apache模块,用来即时紧缩你的数据,并可以让数据传输量下降80%。
  39、在可以用file_get_contents替换file、fopen、feof、fgets等系列办法的情形下,尽可能用file_get_contents,由于他的效力高很多!然而要注重file_get_contents在翻开一个URL文件时分的PHP版本成绩;
  40、尽可能的少停止文件操作,固然PHP的文件操作效力也不低的;
  41、优化Select SQL语句,在能够的情形下尽可能少的停止Insert、Update操作(在update上,我被恶批过);
  42、尽量的利用PHP外部函数(然而我却为了找个PHP外面不存在的函数,华侈了本可以写出一个自界说函数的工夫,经历成绩啊!);
  43、轮回外部不要声明变量,特别是大变量:对象(这仿佛不只是PHP外面要注重的成绩吧?);
  44、多维数组尽可能不要轮回嵌套赋值;
  45、在可以用PHP外部字符串操作函数的情形下,不要用正则表达式;
  46、foreach效力更高,尽可能用foreach取代while和for轮回;
  47、用单引号替换双引号援用字符串;
  48、“用i+=1取代i=i+1。合适c/c++的习气,效力还高”;
  49、对global变量,应当用完就unset()失落;
培训的第一阶段,学习的是HTML/CSS/JavaScript基础。
深爱那片海 该用户已被删除
沙发
发表于 2015-2-4 02:49:38 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-2-5 14:15:38 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
第二个灵魂 该用户已被删除
地板
发表于 2015-2-12 03:11:41 | 只看该作者
爱上php,他也会爱上你。
因胸联盟 该用户已被删除
5#
发表于 2015-2-22 11:40:53 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
只想知道 该用户已被删除
6#
发表于 2015-3-12 09:33:57 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
乐观 该用户已被删除
7#
发表于 2015-3-17 09:10:36 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
精灵巫婆 该用户已被删除
8#
发表于 2015-4-4 17:42:50 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
冷月葬花魂 该用户已被删除
9#
发表于 2015-4-10 07:54:11 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
小妖女 该用户已被删除
10#
发表于 2015-4-17 10:56:37 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
飘灵儿 该用户已被删除
11#
发表于 2015-4-23 11:53:01 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
柔情似水 该用户已被删除
12#
发表于 2015-5-1 22:09:27 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
再见西城 该用户已被删除
13#
发表于 2015-5-6 07:09:33 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
若天明 该用户已被删除
14#
发表于 2015-5-10 07:59:11 | 只看该作者
做为1门年轻的语言,php一直很努力。
谁可相欹 该用户已被删除
15#
发表于 2015-6-30 08:42:08 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
金色的骷髅 该用户已被删除
16#
发表于 2015-7-3 04:33:44 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
蒙在股里 该用户已被删除
17#
发表于 2015-7-15 03:48:07 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
18#
发表于 2015-7-26 10:25:08 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
分手快乐 该用户已被删除
19#
发表于 2015-9-23 18:09:44 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 20:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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