网站制作14年,SEO 5年,客户800+

【优化技巧】对于优化PHP代码的42条小建议

时间:2018-11-21 20:12:36 来源:http://www.seotz.net  作者:台州网站优化  点击:

导读:
PHP代码是企业网站建设、企业软件开发生物网站建设、企业营销型网站建设英文网站建设、众筹网站平台建设等工作中都会使用到的一种程序代码,所以网站建设工程师必须要对该类代码有一个

  台州网站优化的SEO小编早期是从asp代码转为做php代码的,小编曾一直以为asp很好,但是后来越来越发现php的普遍性了。于是就转为php的学习与实践了。经过了近两年的学习,小编总结了有关《优化PHP代码的42条小建议》的信息,内容如下:

优化PHP代码的42条小建议

优化PHP代码的42条小建议

  PHP代码是企业网站建设、企业软件开发生物网站建设、企业营销型网站建设英文网站建设、众筹网站平台建设等工作中都会使用到的一种程序代码,所以网站建设工程师必须要对该类代码有一个深入的了解。同时还需要在编辑PHP代码时做好优化工作。

  下面台州网站优化【www.seotz.net】的SEO小编就为大家介绍这42条小建议,希望可以对大家的网站建设工作有怕帮助。

  1、果一个方法可静态化,就对它做静态声明。速率可提升至 4 倍。

  2、echo 比 print 快。

  3、使用 echo 的多重参数(译注:指用逗号而不是句点)代替字符串连接。

  4、在执行 for 循环之前确定最大循环数,不要每循环一次都计算最大值。

  5、注销那些不用的变量尤其是大数组,以便释放内存。

  6、尽量避免使用__get,__set,__autoload。

  7、require_once() 代价昂贵。

  8、在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。

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

  10、函数代替正则表达式完成相同功能。

  11、str_replace 函数比 preg_replace 函数快,但 strtr 函数的效率是 str_replace 函数的四倍。

  12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

  13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。

  14、用@屏蔽错误消息的做法非常低效。

  15、打开 apache的 mod_deflate 模块。

  16、数据库连接当使用完毕时应关掉。

  17、$row[‘id’] 的效率是 $row[id] 的7倍。

  18、错误消息代价昂贵。

  19、尽量不要在 for 循环中使用函数,比如 for ($x=0; $x < count($array); $x) 每循环一次都会调用count() 函数。

  20、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。

  21、递增一个全局变量要比递增一个局部变量慢2倍。

  22、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢 3 倍。

  23、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢 9 至 10 倍。

  24、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP 大概会检查看是否存在全局变量。

  25、方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了 10 个方法,但性能上没有变化。

  26、派生类中的方法运行起来要快于在基类中定义的同样的方法。

  27、调用带有一个参数的空函数,其花费的时间相当于执行 7 至 8 次的局部变量递增操作。类似的方法调用所花费的时间接近于 15 次的局部变量递增操作。

  28、用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的字符串中搜寻变量,单引号则不会。当然,只有当你不需要在字符串中包含变量时才可以这么做。

  29、输出多个字符串时,用逗号代替句点来分隔字符串,速度更快。注意:只有 echo 能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说 echo 是语言结构,不是真正的函数,故把函数加上了双引号)。

  30、Apache 解析一个 PHP 脚本的时间要比解析一个静态 HTML 页面慢 2 至 10 倍。尽量多用静态 HTML 页面,少用脚本。

  31、除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升 25% 至 100% 的性能,以免除编译开销。

  32、尽量做缓存,可使用 memcached。memcached 是一款高性能的内存对象缓存系统,可用来加速动态 Web 应用程序,减轻数据库负载。对运算码 (OP code) 的缓存很有用,使得脚本不必为每个请求做重新编译。

  33、当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用 strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在zval结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。

  但是,由于 strlen() 是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP 不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用 isset() 技巧加速执行你的代码。

  34、当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码并指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。

  后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。注意,不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提 供商(ISPs)和服务器。

  35、并不是事必面向对象 (OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

  36、并非要用类实现所有的数据结构,数组也很有用。

  37、不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?

  38、当你需要时,你总能把代码分解成方法。

  39、尽量采用大量的 PHP 内置函数。

  40、如果在代码中存在大量耗时的函数,你可以考虑用 C 扩展的方式实现它们。

  41、评估检验 (profile) 你的代码。检验器会告诉你,代码的哪些部分消耗了多少时间。Xdebug 调试器包含了检验程序,评估检验总体上可以显示出代码的瓶颈。

  42、mod_zip 可作为 Apache 模块,用来即时压缩你的数据,并可让数据传输量降低 80%。

  总结:以上就是小编总结的有关《优化PHP代码的42条小建议》的全部内容,希望对从事php网站优化的朋友们提供一定的帮助。小编才疏学浅,难免有纰漏之处,还望路过的朋友及时指正,小编将不断完善本文。【www.seotz.net】

  • 提示:如果您觉得本文不错,请点击分享给您的好友!谢谢
  • 本文链接地址:http://www.seotz.net/news-guandian/1276.html
  • 来自公司网站建设及百度优化客户的真实评论

    通盛网络来自浙江温岭市的客户反馈

    业务员的专业素质还是比较高,服务也可以,总体上网站设计做的相当不错,后期的SEO顾问做的优化指导还是很到位的,有机会会介绍朋友也做一个网站。

    通盛网络来自丽水市元和县的客户反馈

    从现在来看应该是SEO优化做的比较好的,我身边有很多做企业的网站SEO优化的都在和他们做

    通盛网络来自宁波市江北区的客户反馈

    效率很高,心情不错,这样的网站这样的关键词优化效果便是我要找的,做了几个词的效果很明显,现已上主页了

    通盛网络来自舟山市嵊泗县的客户反馈

    还有4个关键词没有到百度首页,现在经常在第二、第三页波动,其他6个关键词都已经优化的百

    通盛网络来自湖州市吴兴区的客户反馈

    客服很不错,都说好,我也想试试我的站了,如果效果好,果断下次买30个关键词优化。

    服务支持

    我们珍惜您每一次在线询盘,有问必答,用专业的态度,贴心的服务。

    让您真正感受到我们的与众不同!