`

40个技巧优化您的PHP代码

阅读更多

1.如果一个方法能被静态,那就声明他为静态的,速度可提高1/4;

2.echo的效率高于print,因为echo没有返回值,print返回一个整型;

3.在循环之前设置循环的最大次数,而非在在循环中;

4.销毁变量去释放内存,特别是大的数组;

5.避免使用像__get, __set, __autoload等魔术方法;

6.requiere_once()比较耗资源;

7.在includes和requires中使用绝对路径,这样在分析路径花的时间更少;

8.如果你需要得sexinsex到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time();

9.能使用字符处理函数的,尽量用他们,因为效率高于正则;//php100.com

10.str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快1/4;

11.如果一个函数既能接受数组又能接受简单字符做为参数,例如字符替换,并且参数列表不是太长,可以考虑多用一些简洁的替换语句,一次只替换一个字符,而不是接受数组做为查找和替换参数。大事化小,1+1>2;

12.用@掩盖错误会降低脚本运行速度;

13.$row['id']比$row[id]速度快7倍,建议养成数组键加引号的习惯;

14.错误信息很有用;

15.在循环里别用函数,例如For($x=0; $x < count($array); $x), count()函数在外面先计算;

16.在方法里建立局部变量速度最快,97xxoo几乎和在方法里调用局部变量一样快;

17.建立一个全局变量要比局部变量要慢2倍;

18.建立一个对象属性(类里面的变量)例如($this->prop++)比局部变量要慢3倍;

19.建立一个未声明的局部变量要比一个初始化的局部变量慢9-10倍;

20.声明一个未被任何一个函数使用过的全局变量也会使性能降低(和声明相同数量的局部变量一样),PHP可能去检查这个全局变量是否存在;

21.方法的性能和在一个类里面定义的方法的数目没有关系,因为我添加10个或多个方法到测试的类里面(这些方法在测试方法的前后)后性能没什么差异;

22.在子类里方法的性能优于在基类中;//PHP100中文网

23.只调用一个参数并且函数体为空的函数运行花费的时间等于7-8次$localvar++运算,而一个类似的方法(类里的函数)运行等于大约15次$localvar++运算;

24.Surrounding your string by ‘ instead of ” will make things interpret a little faster since php looks for variables inside “…” but not inside ‘…’. Of course you can only do this when you don’t need to have variables in the string.

25.当输出字符串时用逗号代替点分割更快些。注意:这只对echo起作用,这个函数能接受一些字符串作为参数;

26.在apache服务器里一个php脚本页面比相应的HTML静态页面生成至少要多花2-10倍的时间,建议多用些静态HTML页面和少量的脚步;

27.除非你的安装了缓存,不然你的php脚本每次被访问都需要被重编译。建议安装个php缓存程序,这样通过去除一些重复的编译来很明显的提高你20-100%的性能;

28.建议用memcached,高性能的分布式内存对象缓存系统,提高动态网络应用程序性能,减轻数据库的负担;

29.使用ip2long()和long2ip()函数把IP地址转成整型存放进数据库而非字符型。这几乎能降低1/4的存储空间。同时可以很容易对地址进行排序和快速查找;

30.使用checkdnsrr()通过域名存在性来确认部分email地址的有效性,这个内置函数能保证每一个的域名对应一个IP地址;//php100.com

31.如果你在使用php5和mysql4.1以上的版本,考虑使用mysql_*的改良函数mysqli_*;

32.试着喜欢使用三元运算符(?:);

33.在你想在彻底重做你的项目前,看看PEAR有没有你需要的。PEAR是个巨大的资源库,很多php开发者都知道;

34.使用highlight_file()能自动打印一份很好格式化的页面源代码的副本; //php100.com

35. 使用error_reporting(0)函数来预防潜在的敏感信息显示给用户。理想的错误报告应该被完全禁用在php.ini文件里。可是如果你在用一个共享的虚拟主机,php.ini你不能修改,那么你最好添加error_reporting(0)函数,放在每个脚本文件的第一行(或用 require_once()来加载)这能有效的保护敏感的SQL查询和路径在出错时不被显示;

36.使用 gzcompress() 和gzuncompress()对容量大的字符串进行压缩(解压)在存进(取出)数据库时。这种内置的函数使用gzip算法能压缩到90%;

37.通过参数变量地址得引用来使一个函数有多个返回值。你可以在变量前加个“&”来表示按地址传递而非按值传递;

38.Fully understand “magic quotes” and the dangers of SQL injection. I’m hoping that most developers reading this are already familiar with SQL injection. However, I list it here because it’s absolutely critical to understand. If you’ve never heard the term before, spend the entire rest of the day googling and reading.//php100.com

39.使用strlen()因为要调用一些其他操作例如lowercase和hash表查询所以速度不是太好,我们可以用isset()来实现相似的功能,isset()速度优于strlen();

40.When incrementing or decrementing the value of the variable $i++ happens to be a tad slower then ++$i. //php100.com This is something PHP specific and does not apply to other languages, so don’t go modifying your C or Java code thinking it’ll suddenly become faster, it won’t. ++$i happens to be faster in PHP because instead of 4 opcodes used for $i++ you only need 3. Post incrementation actually causes in the creation of a temporary var that is then incremented. While pre-incrementation increases the original value directly. This is one of the optimization that opcode optimized like Zend’s PHP optimizer. It is a still a good idea to keep in mind since not all opcode optimizers perform this optimization and there are plenty of ISPs and servers running without an opcode optimizer.

分享到:
评论

相关推荐

    PHP优化,代码优化

    以下是从给定文件中提炼出的关于PHP优化的重要知识点,这些方法覆盖了代码层面、数据库交互、以及服务器配置等多个方面。 #### 代码优化策略 1. **静态方法声明**:将可以静态化的函数声明为静态,可以显著提高...

    40条优化php代码的小实例.

    以下40个小实例提供了关于如何优化PHP代码的实用技巧: 1. **静态方法优化**:尽可能地将方法声明为静态,这可以减少对象创建的开销,提高约25%的执行速度。 2. **echo vs print**:在输出字符串时,echo比print更...

    加密优化Linux下的PHP代码.pdf

    对于系统开发人员来说,理解如何在Linux环境中调试和优化PHP代码是至关重要的,这通常需要掌握一些常用的调试工具,如`gdb`,以及阅读和分析PHP的错误日志。 总之,“加密优化Linux下的PHP代码”涵盖的内容广泛,既...

    php 代码优化指南,给你的php加速

    ### PHP代码优化指南 在开发基于PHP的应用程序时,代码的执行效率直接影响着用户体验和服务器资源的消耗。本文档详细列举了可能导致PHP代码性能下降的一些常见问题及其优化建议,适用于不同水平的PHP开发者。 ####...

    18个网站优化技巧

    ### 18个网站优化技巧:首页响应慢与首页速度优化 #### 一、引言 随着互联网技术的发展,用户对网页加载速度的要求越来越高。快速的页面加载不仅能够提升搜索引擎排名,还能显著改善网站转化率及用户体验。然而,...

    PHP深度分析:101个核心技巧、窍门和问题解决方法 + 源代码

    《PHP深度分析:101个核心技巧、窍门和问题解决方法》是一本专为PHP开发者准备的进阶教程,旨在帮助读者深入理解PHP语言并掌握一系列实用的编程技巧。书中结合源代码实例,提供了丰富的实践指导,涵盖从基础到高级的...

    40条优化php代码的小实例

    标题与描述中的知识点聚焦于PHP代码优化技巧,旨在提升代码执行效率、节省资源及改进编程实践。以下是对这些技巧的详细解析: 1. **静态方法的使用**:将合适的方法声明为静态,可以提高约四分之一的速度。静态方法...

    PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版).pdf+PHP 内核文档.chm

    《PHP深度分析:101个核心技巧、窍门和问题解决方法》是PHP开发者的一本宝贵资源,这本书深入探讨了PHP编程中的诸多关键概念和技术,旨在帮助读者提升技能,解决实际开发中遇到的问题。结合《PHP 内核文档》CHM格式...

    php 的十个高级技巧

    在PHP编程语言的世界里,掌握一些高级技巧可以显著提升代码质量、效率以及开发效率。以下就是十个值得新手学习的PHP高级技巧: ...在实际开发中不断实践和理解这些技巧,将有助于编写出更高效、更健壮的PHP代码。

    让你的程序跑的更快,php代码优化

    本文将详细介绍一系列有效的PHP代码优化技巧,帮助你的PHP程序更加高效地运行。 #### 1. 避免不必要的字符串操作 在处理字符串时,尽量避免使用`echo`和`print`进行多次输出,因为这会导致额外的缓冲区操作。如果...

    PHP精粹编写高效PHP代码 书本源码

    《PHP精粹编写高效PHP代码》是一本专为PHP开发者设计的高级教程,旨在帮助读者提升编程技巧,编写出性能更优、效率更高的代码。这本书深入探讨了PHP语言的各个方面,包括最佳实践、优化策略以及如何避免常见的性能...

    php优化知识集锦

    "php优化知识集锦"这个压缩包显然包含了丰富的资料,旨在帮助开发者掌握和应用各种PHP优化技巧。以下是一些核心的PHP优化知识点: 1. **代码优化** - **避免使用短标签**:虽然PHP短标签`和`简洁易读,但它们的...

    php调试与优化的小技巧.doc

    总的来说,PHP的调试和优化是一个持续的过程,需要结合各种工具和技术,理解代码执行的细节,以及对性能瓶颈的深入分析。不断学习和实践,可以提升PHP开发者的技能,打造出更稳定、高效的PHP应用。

    PHP精粹 编写高效PHP代码pdf

    《PHP精粹 编写高效PHP代码》这本书是PHP开发者的重要参考资料,旨在帮助读者提升PHP编程技巧,优化代码性能,从而编写出更高效、更可靠的PHP应用。在深入理解PHP语言特性和最佳实践的基础上,我们可以从以下几个...

    百度全自动推送文章收录PHP代码附带教程

    "百度全自动推送文章收录PHP代码附带教程"是一个帮助网站管理员实现快速文章收录的解决方案,通过编写PHP代码实现与百度搜索引擎的自动交互。 首先,我们要理解什么是“百度自动推送”。这是一种技术手段,允许网站...

    PHP性能优化方式

    总的来说,PHP性能优化是一个综合性的过程,需要结合代码、架构和工具等多方面因素,持续监控和调整,以实现最佳的运行效率。在实际工作中,开发者应该养成良好的编程习惯,不断学习新的优化技巧,以应对日益复杂的...

    PHP程序加速探索之代码优化

    总的来说,PHP代码优化是一个涉及多方面的过程,包括但不限于循环优化、函数选择、数据库查询效率和良好的编程习惯。通过持续学习和实践,开发者可以逐步掌握这些技巧,提升自己的代码质量,为用户提供更加流畅的...

    PHP执行速率优化技巧小结

    以下是一些关于PHP执行速率优化的技巧和建议: ...通过遵循这些最佳实践,你可以显著提高PHP代码的执行效率,从而优化整体应用程序性能。记得在优化时始终权衡代码的可读性和维护性,因为这两方面同样重要。

    一个使用 php 语言的 TSPL 标签打印机实现_PHP_代码_下载

    在"tspl-printer-php-master"这个压缩包中,很可能是包含了一个PHP库或者示例代码,用于处理与TSPL标签打印机的交互。这个库可能提供了以下功能: 1. **TSPL指令生成**:提供了一系列函数或类,帮助开发者方便地...

Global site tag (gtag.js) - Google Analytics