浅谈PHP代码优化

2. echo比print快,而且使用echo的多重参数代替字符串连接。3. 在执行for循环之前确定最大的循环数,不要每循环一次都计算一下最大值。 for($

大家好,今天来为大家解答浅谈PHP代码优化这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

4. 取消注册未使用的变量,尤其是大型数组,以释放内存。

5.尽量避免使用__get __set __autoload。

6. require_once() 的成本很高。

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

8.如果你想知道脚本开始执行的时间,$_SERVER[‘REQUEST_TIME’]比time()更好

9、函数代替正则表达式来完成同样的功能。

10、strtr函数的效率比str_replace高4倍。

11.使用选择性分支语句switch case比使用多个if、elseif更好

12.使用@来阻止错误消息效率非常低。

13、当数据库连接完成后,必须及时关闭。

14.$val[‘id’] 比$val[id] 效率高得多。

15. 递增局部变量比递增局部变量慢得多,递增对象属性($this-prop++)比递增局部变量慢得多。

16、只定义局部变量而不在函数中调用它也会降低速度。方法调用与类中定义的方法数量无关。

17. 派生类中的方法比基类中定义的相同方法运行得更快。

18、使用单引号的效率比使用双引号快,因为PHP会在双引号包围的字符串中搜索变量。

19. Apache 解析PHP 脚本所需的时间比解析HTML 页面慢2 到10 倍。尽可能使用静态HTML 脚本。

22、使用echo的多个参数代替字符串连接。

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

24.注销未使用的变量,尤其是大数组,以释放内存。

25.尽量避免使用__get、__set、__autoload。

26、检查是否可以使用strncasecmp、strpbrk、stripos函数代替正则表达式完成同样的功能。

27.require_once() 很昂贵。

28.包含文件时使用完整路径,解析操作系统路径将花费更少的时间。

29. 如果你想知道脚本开始执行的时间,最好使用$_SERVER[‘REQUEST_TIME’]而不是time()。

30. 增加一个对象属性(例如:$this-prop++)比增加一个局部变量慢3倍。

31. str_replace函数比preg_replace函数快,但strtr函数比str_replace函数效率高四倍。

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

浅谈PHP代码优化

33.使用@来阻止错误消息效率非常低。

34、数据库连接使用完毕后应关闭。

35.$row[‘id’]比$row[id]效率高7倍。

36. 错误消息的代价是昂贵的。

37. 尽量不要在for循环中使用函数。例如, for ($x=0; $x count($array); $x) 每次循环都会调用count() 函数。

38. 增加方法中的局部变量是最快的。几乎与在函数中调用局部变量一样快。

39. 递增全局变量比递增局部变量慢2 倍。

40. config中尽量不要添加逻辑,比如if.else等操作。

41. 递增未定义的局部变量比递增预定义的局部变量慢9 到10 倍。

43. 方法调用似乎与类中定义的方法数量无关,因为我添加了10 个方法(在测试方法之前和之后)并且性能没有变化。

44. 派生类中的方法比基类中定义的相同方法运行得更快。

45. 调用一个带有一个参数的空函数所花费的时间相当于局部变量递增7 到8 倍。类似的方法调用需要接近15 个局部变量增量。

46.用单引号代替双引号将字符串括起来,这样更快。因为PHP 会在双引号括起来的字符串中搜索变量,但单引号不会。当然,只有当不需要在字符串中包含变量时才可以这样做。

47、输出多个字符串时,使用逗号代替句点来分隔字符串,这样速度更快。注意:只有echo 可以做到这一点,它是一个可以接受多个字符串作为参数的“函数”。

48. Apache 解析PHP 脚本的速度比解析静态HTML 页面慢2 到10 倍。尝试使用更多的静态HTML 页面和更少的脚本。

49、当对字符串进行操作,需要检查其长度是否满足一定要求时,自然会使用strlen()函数。这个函数执行得相当快,因为它不做任何计算,只是返回存储在zval 结构(C 的内置数据结构,用于存储PHP 变量)中的已知字符串长度。不过,由于strlen()是一个函数,所以会有些慢,因为函数调用会经过很多步骤,比如小写字母(译注:指小写函数名,PHP不区分函数名大小写) ),哈希搜索,会和被调用的函数一起执行。在某些情况下,您可以使用isset() 技巧来加快代码的执行速度。

示例如下

if (strlen($foo) 5) { echo “Foo 太短”; } vs. (与下面的技巧比较) if (!isset($foo{5})) { echo “Foo 太短”; }调用isset() 恰好比strlen() 更快,因为与后者不同,isset() 作为一种语言构造,意味着它的执行不需要函数查找和字母小写。换句话说,您实际上并没有在检查字符串长度的顶级代码中花费太多开销。使用isset()也可以解决我们的很多通知操作。它还可以带来性能提升。

50. 当执行变量$i的递增或递减时,$i++会比++$i慢。这种差异是PHP 特有的,++$i 更快,因为它只需要3 条指令(操作码),而$i++ 需要4 条指令。后递增实际上创建了一个随后递增的临时变量。前缀增量直接在原始值上增加。这是一种优化形式,由Zend 的PHP 优化器完成。记住这种优化是个好主意,因为并非所有命令优化器都会执行相同的优化,并且有大量Internet 服务提供商(ISP) 和服务器没有配备命令优化器。

51、并不是一切都必须面向对象(OOP),面向对象往往是昂贵的,并且每个方法和对象调用都消耗大量内存。

52. 并不是所有的数据结构都需要在类中实现,数组也很有用。

53. 不要过多地分解方法。仔细想想你真正打算重用哪些代码?

54. 当需要时,您始终可以将代码分解为方法。

55. 尝试使用大量PHP内置函数。不要自己写,因为当你调用你写的函数时,它们会被编译然后才能执行,而内置函数是直接调用的。

56、如果代码中有大量耗时的函数,可以考虑使用C扩展来实现。这件事我稍后会和孟光谈。

57. 评估并验证您的代码。检查器会告诉您代码的哪些部分花费了多少时间。 Xdebug 调试器包括检查例程,用于评估代码的整体完整性并揭示代码中的瓶颈。

58、无论include还是require包含一次,都会先执行,执行后的监听代码会返回到调用该语句的地方,从而减少不必要的PHP代码加载。

用户评论

浅谈PHP代码优化
放血

这篇文章写的真棒!我一直在试图优化我的PHP代码,但总是卡在这个那个地方。你的简要解释真的很清晰易懂,让我能更好地理解如何提高效率

    有15位网友表示赞同!

浅谈PHP代码优化
失心疯i

看了之后感觉自己还是太菜了,很多概念都不太明白。希望作者能出一本更详细的书,深入讲解一下这些技巧。

    有14位网友表示赞同!

浅谈PHP代码优化
安之若素

我一直觉得PHP代码优化这方面信息太少了,很高兴看到这篇文章!尤其对“使用缓存机制”部分很有启发。我会尝试在项目中应用一下看效果

    有18位网友表示赞同!

浅谈PHP代码优化
苍白的笑〃

文章写得不错,内容也比较实用的技巧,但是缺乏一些具体的例子说明。如果有更多实例和代码对比,会更生动易懂

    有8位网友表示赞同!

浅谈PHP代码优化
无关风月

PHP代码优化真是太重要了!慢的网站谁受得了?分享这些方法,真的受益匪浅!我决定马上把文章中的内容应用到我的项目中试试!

    有20位网友表示赞同!

浅谈PHP代码优化
゛指尖的阳光丶

这篇文章仅仅是略微触及了一些表面现象,对深度优化的论述非常少许。例如,针对不同场景使用不同的优化手段,才是真正提升性能的关键

    有5位网友表示赞同!

浅谈PHP代码优化
算了吧

作为一名PHP开发者,我认为代码简洁易读是至关重要的。虽然这篇文章提到了一些性能优化,但我更关心的是如何写出优雅、可维护的代码

    有8位网友表示赞同!

浅谈PHP代码优化
墨染天下

文章很有参考价值!我之前也想过要学习一些 PHP 代码优化技巧,现在终于有了方向和方法了。等周末有机会好好实践一下。

    有17位网友表示赞同!

浅谈PHP代码优化
孤败

PHP开发已经有几年的经验了,对于许多优化方法早已耳熟能详。这篇文章更像是入门级教程,对有一定经验的开发者来说,内容比较基础

    有9位网友表示赞同!

浅谈PHP代码优化
旧事酒浓

感谢作者分享这些宝贵的经验!我很容易被人困扰优化问题,这篇文章给了我清晰思路和一些实际的操作步骤!我会认真学习并应用起来!

    有11位网友表示赞同!

浅谈PHP代码优化
该用户已上天

PHP代码优化是一个复杂的领域,单靠一篇简短的文章难以全面总结所有的技巧。建议作者结合具体的项目案例进行讲解,更能帮助读者理解和实践。

    有13位网友表示赞同!

浅谈PHP代码优化
刺心爱人i

我本身很少写 PHP 代码,这篇博文对我的了解很有帮助!简单易懂的语言讲清了关键概念,让我对 PHP 代码优化有了更清晰认知

    有5位网友表示赞同!

浅谈PHP代码优化
此生一诺

这篇文章太好啦!终于找到了一份浅显易懂的PHP代码优化指南。我要把这份宝藏收藏起来,经常参考!

    有5位网友表示赞同!

浅谈PHP代码优化
权诈

学习了一下 这篇文章提到的代码缓存机制,感觉确实能提升 PHP 代码执行效率。我打算在我的项目中应用一下,看看效果怎么样

    有16位网友表示赞同!

浅谈PHP代码优化
执妄

优化性能真的很重要,但有时一些看似简单的优化的确会带来难以预料的后果。需要谨慎分析每个场景,选择最合适的方案。

    有10位网友表示赞同!

浅谈PHP代码优化
断秋风

文章内容不错,但我希望作者能提供更详细的例子,例如什么情况下使用什么类型的优化方案,这样更容易理解和应用

    有13位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/126406.html

Like (0)
小su的头像小su
Previous 2024年9月1日 下午9:32
Next 2024年9月1日 下午9:35

相关推荐

  • C语言基础概述

    1. 程序结构C语言程序由函数组成,其中至少包含一个名为main的函数,它是程序执行的入口点。main函数可以调用其他函数,也可以被其他函数调用(但通常不这么做

    2024年9月18日
    0
  • 50M家庭宽带够用吗?

    相信很多租房的朋友们在装装宽带的时候,都会有所纠结。特别是对于不太懂宽带的人士来说,选择哪个运营商?装多少带宽的宽带?办多长时间?路由器要怎么弄?等等问题,想起

    2024年8月30日
    0
  • 单元测试的10 个最佳实践

    单元测试是对软件应用程序中的各个单元或组件进行的软件测试。单元测试的目标是验证每个软件单元是否按照设计进行了执行。单元测试不仅保证了代码质量和便于维护,还能够促

    2024年9月23日
    0
  • kubernetes service 服务?kubernetes提供了多种类型的service

    kubernetes service 服务1 service作用
    使用kubernetes集群运行工作负载时,由于Pod经常处于用后即焚状态,Pod经常被重新生成,因此Pod对应的IP地址也会经常

    网站运维 2024年6月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注