首頁 後端開發 php教程 PHP代码优化技巧小结_php技巧

PHP代码优化技巧小结_php技巧

May 16, 2016 pm 08:06 PM
php程式碼優化 程式碼最佳化

PHP优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。给大家提供下面这些优化技巧:

1. echo 比 print 快。

2. 使用echo的多重参数代替字符串连接。

3. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

4. 对global变量,应该用完就unset()掉。

5. 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。

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

7. 当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。

8. 使用选择分支语句(switch case)好于使用多个if,else if语句。

9. 利用var_dump进行PHP代码调试。如果你在寻找php调试技术,我必须说var_dump应该是你要找的目标,在显示php信息方面这个命令可以满足你的所有需要,而调试代码的多数情况与得到PHP中的数值有关。

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

11. 动辄创建全局数值是一种糟糕的做法,不过有时候实际情况的确又需要这么做。对于数据库表或数据库连接信息使用全局数值是一个不错的想法,但不要在你的PHP代码中频繁使用全局数值。另外,更好的一种做法是把你的全局变量存放在一个config.php文件中。

12. 如果你想知道脚本开始执行的时刻,使用$_SERVER[‘REQUEST_TIME']要好于time()。

13. 打开apache的mod_deflate模块。

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

15. 尽量采用大量的PHP内置函数。

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

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

18. 仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)

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

20. 正如之前提到的,任何php网站中最重要的部分有99%的可能是数据库。因此,你需要非常熟悉如何正确的使用sql,学会关联表和更多高级的数据库技术。

21. 调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。

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

23. 并不是所有情况都必须使用面向对象开发,面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

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

最后再提醒一下在代码优化的时候应该注意的事情:

1. 短代码不等于快的代码
很多人在写程序时希望将代码写的越简洁越好,但是越短的代码有时候反而需要更长的执行时间。

2. 在写程序的时候更应该注重程序的扩展性,而不是追求速度。

3. 在优化你的代码之前,先看看跟数据库有关的部分,因为大多数应用程序的瓶颈在数据库而不是代码。

4. 微优化得不偿失
什么叫做微优化?就像前面所说的将正则表达式部分的代码改用字符串函数代替。这样做有以下缺点:
(1)花费时间较长
(2)不会根本上解决性能问题
(3)很有可能会破坏以前的代码从而产生未知的错误
(4)付出大于回报

       这里还不得不提到一个误区,有些人为了让程序更加优化,在分析业务逻辑的时候便将优化考虑在内了,从而为了得到更优的代码而改动业务逻辑。这是十分愚蠢的想法,因为程序的目的便是为了处理现实中遇到的问题,我们不能本末倒置。

以上就是php代码优化的方法和一些小提示,希望能够帮助到大家更好的优化php代码

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
如何做好Java程式碼的重構 如何做好Java程式碼的重構 Jun 15, 2023 pm 09:17 PM

作為世界上最受歡迎的程式語言之一,Java已成為許多企業和開發者的首選語言。然而,程式碼的重構對於保持程式碼品質以及開發效率至關重要。 Java程式碼由於其複雜性,隨著時間的推移可能會變得越來越難以維護。本文將討論如何進行Java程式碼的重構,以提高程式碼品質和可維護性。了解重構的原則Java程式碼重構的目的在於改進程式碼的結構、可讀性和可維護性,而不是簡單的「改變程式碼」。因

程式效能優化有哪些常見的方法? 程式效能優化有哪些常見的方法? May 09, 2024 am 09:57 AM

程式效能最佳化方法包括:演算法最佳化:選擇時間複雜度較低的演算法,減少迴圈和條件語句。資料結構選擇:根據資料存取模式選擇合適的資料結構,例如查找樹和雜湊表。記憶體最佳化:避免建立不必要對象,釋放不再使用的內存,使用記憶體池技術。執行緒優化:識別可並行化任務,優化執行緒同步機制。資料庫最佳化:建立索引加快資料檢索,優化查詢語句,使用快取或NoSQL資料庫提升效能。

PHP高並發處理中的程式碼最佳化技巧 PHP高並發處理中的程式碼最佳化技巧 Aug 11, 2023 pm 12:57 PM

PHP高並發處理中的程式碼最佳化技巧隨著網路的快速發展,高並發處理已經成為了web應用程式開發的重要議題。在PHP開發中,如何優化程式碼以應對高並發請求成為了程式設計師需要解決的難題。本文將介紹一些PHP高並發處理中的程式碼最佳化技巧,並加上程式碼範例進行說明。合理利用快取對於高並發的情況,頻繁存取資料庫會導致系統負載過大,並且存取資料庫的速度相對較慢。因此,我們可

程式碼優化在Java框架效能優化中的關鍵技巧 程式碼優化在Java框架效能優化中的關鍵技巧 Jun 03, 2024 pm 01:16 PM

在Java框架效能最佳化中,程式碼最佳化至關重要,包括:1.減少物件創建;2.使用適當的資料結構;3.避免阻塞I/O;4.最佳化字串操作;5.避免反射。透過遵循這些技巧,可以提高框架效能,例如最佳化Hibernate查詢以減少資料庫呼叫次數。

Java Spring Boot Security效能最佳化:讓你的系統飛起來 Java Spring Boot Security效能最佳化:讓你的系統飛起來 Feb 19, 2024 pm 05:27 PM

一、代码优化避免使用过多的安全注解:在Controller和Service中,尽量减少使用@PreAuthorize和@PostAuthorize等注解,这些注解会增加代码的执行时间。优化查询语句:使用springDataJPA时,优化查询语句可以减少数据库的查询时间,从而提高系统性能。缓存安全信息:将一些常用的安全信息缓存起来,可以减少数据库的访问次数,提高系统的响应速度。二、数据库优化使用索引:在经常被查询的表上创建索引,可以显著提高数据库的查询速度。定期清理日志和临时表:定期清理日志和临时

Go語言中的該如何進行程式碼重構 Go語言中的該如何進行程式碼重構 Jun 02, 2023 am 08:31 AM

隨著軟體開發的不斷深入和程式碼的不斷積累,程式碼重構已經成為了現代軟體開發過程中不可避免的一部分。它是一種對系統的既定代碼進行修改,以改善其結構、性能、可讀性或其他相關方面的過程。在本文中,我們將探討如何在Go語言中進行程式碼重構。定義好重構的目標在開始程式碼重構之前,我們應該要訂定一個明確的重構目標。我們需要問自己一些問題,例如這段程式碼有哪些問題?我們要透過重構

如何進行C++程式碼的重構? 如何進行C++程式碼的重構? Nov 04, 2023 pm 04:40 PM

C++是一種非常強大、靈活且廣泛使用的程式語言,但隨著專案的不斷發展和程式碼的持續相對重用,會存在程式碼品質的下降、可讀性的下降等問題。這時候就需要對程式碼進行重構,以達到更好的程式碼品質和更高的可維護性。本文將介紹如何進行C++程式碼的重構。定義目標在開始重構程式碼之前,你需要先明確需要完成的目標。例如,你可能想改善程式碼的可讀性、減少程式碼的重複、提高程式碼的效能等等。無

優化你的程式碼:PHP高效能技巧 優化你的程式碼:PHP高效能技巧 Jun 05, 2023 am 08:21 AM

在實際開發中,為了讓網站或應用程式達到更好的效能和更高的可擴充性,PHP程式碼的最佳化是非常重要的一步。以下是一些PHP高效能技巧,幫助你的程式碼更快運作。一、最小化函數呼叫和變數1.1函數呼叫函數呼叫對於PHP程式碼的效能影響非常大,因為每個函數都需要在記憶體中分配空間。在編寫PHP程式碼時應盡量避免過多的函數調用,可以使用內聯函數或自訂函數來替代。 1.2變數

See all articles