53個要點提高php效率,提高php運行效率

本文目錄一覽:

提高PHP編程效率的53個要點

用單引號代替雙引號來包含字符串 這樣做會更快一些 因為PHP會在雙引號包圍的字符串中搜尋變量 單引號則不會 注意 只有echo能這麼做 它是一種可以把多個字符串當作參數的「函數」(譯註 PHP手冊中說echo是語言結構 不是真正的函數 故把函數加上了雙引號)

如果能將類的方法定義成static 就盡量定義成static 它的速度會提升將近 倍

$row[』id』] 的速度是$row[id]的 倍

echo 比 print 快 並且使用echo的多重參數(譯註 指用逗號而不是句點)代替字符串連接 比如echo $str $str

在執行for循環之前確定最大循環數 不要每循環一次都計算最大值 最好運用foreach代替

註銷那些不用的變量尤其是大數組 以便釋放內存

盡量避免使用__get __set __autoload

require_once()代價昂貴

include文件時盡量使用絕對路徑 因為它避免了PHP去include_path里查找文件的速度 解析操作系統路徑所需的時間會更少

如果你想知道腳本開始執行(譯註 即服務器端收到客戶端請求)的時刻 使用$_SERVER[『REQUEST_TIME』]要好於time()

函數代替正則表達式完成相同功能

str_replace函數比preg_replace函數快 但strtr函數的效率是str_replace函數的四倍

如果一個字符串替換函數 可接受數組或字符作為參數 並且參數長度不太長 那麼可以考慮額外寫一段替換代碼 使得每次傳遞參數是一個字符 而不是只寫一行代碼接受數組作為查詢和替換的參數

使用選擇分支語句(譯註 即switch case)好於使用多個if else if語句

用@屏蔽錯誤消息的做法非常低效 極其低效

打開apache的mod_deflate模塊 可以提高網頁的瀏覽速度

數據庫連接當使用完畢時應關掉 不要用長連接

錯誤消息代價昂貴

在方法中遞增局部變量 速度是最快的 幾乎與在函數中調用局部變量的速度相當

遞增一個全局變量要比遞增一個局部變量慢 倍

遞增一個對象屬性(如 $this prop++)要比遞增一個局部變量慢 倍

遞增一個未預定義的局部變量要比遞增一個預定義的局部變量慢 至 倍

僅定義一個局部變量而沒在函數中調用它 同樣會減慢速度(其程度相當於遞增一個局部變量) PHP大概會檢查看是否存在全局變量

方法調用看來與類中定義的方法的數量無關 因為我(在測試方法之前和之後都)添加了 個方法 但性能上沒有變化

派生類中的方法運行起來要快於在基類中定義的同樣的方法

調用帶有一個參數的空函數 其花費的時間相當於執行 至 次的局部變量遞增操作 類似的方法調用所花費的時間接近於 次的局部變量遞增操作

Apache解析一個PHP腳本的時間要比解析一個靜態HTML頁面慢 至 倍 盡量多用靜態HTML頁面 少用腳本

除非腳本可以緩存 否則每次調用時都會重新編譯一次 引入一套PHP緩存機制通常可以提升 %至 %的性能 以免除編譯開銷

提高PHP開發效率的技巧

用單引號代替雙引號來包含字符串,這樣做會更快一些。因為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、如果你想知道腳本開始執行(譯註:即服務器端收到客戶端請求)的時刻,使用$_SERVER[『REQUEST_TIME』]要好於time()。

10、函數代替正則表達式完成相同功能。

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

如何提高php的fast cgi 效率

提高php的fast cgi 效率方法如下:

1、ISAPI運行模式

ISAPI即Internet Server Application Program Interface,是微軟提供的一套面向Internet服務的API接口,一個ISAPI的DLL,可以在被用戶請求激活後長駐內存,等待用戶的另一個請求,還可以在一個DLL里設置多個用戶請求處理函數,此外,ISAPI的DLL應用程序和WWW服務器處於同一個進程中,效率要顯著高於CGI。(由於微軟的排他性,只能運行於windows環境)

2、APACHE2HANDLER

PHP作為Apache模塊,Apache服務器在系統啟動後,預先生成多個進程副本駐留在內存中,一旦有請求出現,就立即使用這些空餘的子進程進行處理,這樣就不存在生成子進程造成的延遲了。這些服務器副本在處理完一次HTTP請求之後並不立即退出,而是停留在計算機中等待下次請求。對於客戶瀏覽器的請求反應更快,性能較高。

3、apache模塊的DLL運行模式

此運行模式是我們以前在windows環境下使用apache服務器經常使用的,而在模塊化(DLL)中,PHP是與Web服務器一起啟動並運行的。(是apache在CGI的基礎上進行的一種擴展,加快PHP的運行效率)

怎樣高效率的學習php?

PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql數據庫設計表、mysql數據庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux服務器。

PHP攻城獅踐行學習路線圖:

1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很複雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。

2、先了解一些基本的變量類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。

3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。

4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是幹什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。

5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。

6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該準備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/231827.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 01:07
下一篇 2024-12-11 01:07

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 全能編程開發工程師必須掌握的五個要點

    本文將從五個要點展開,詳細介紹全能編程開發工程師應該如何掌握。 一、懂得項目管理 一名優秀的全能編程開發工程師必須具備良好的項目管理能力。項目管理並不是一個單一的技能,它需要掌握多…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • 使用uring_cmd提高開發效率的技巧

    對於編程開發工程師來說,提高效率一直是致力追求的目標。本文將深度解析如何使用uring_cmd,提升工作效率。 一、常用命令 uring_cmd是一個非常強大的命令行工具,但是大部…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • 全能編程開發工程師如何使用rdzyp提高開發效率

    本文將從多個方面介紹如何利用rdzyp實現高效開發,在大型項目中提升自己的編碼能力與編碼效率。 一、rdzyp簡介 rdzyp是一個強大的代碼生成器,可以根據一定規則生成代碼。它可…

    編程 2025-04-27
  • 如何提高Web開發效率

    Web開發的效率很大程度上影響着團隊和開發者的工作效率和項目質量。本文將介紹一些提高Web開發效率的方法和技巧,希望對開發者們有所幫助。 一、自動化構建 自動化構建是現代Web開發…

    編程 2025-04-27

發表回復

登錄後才能評論