搜尋
首頁頭條用PHP開發高效率的WEB系統方法

用PHP開發高效率的WEB系統方法

Feb 24, 2018 pm 03:42 PM
phpweb方法

PHP是一個很優秀的工具,它可以簡單,也可以複雜。不一樣的項目,應該用不一樣的PHP。 

通常是一個功能頁在20以下的網站,我們可以用一個很簡單的框架結構來寫。在這個規模上,我建議是使用比較直接的過程導向程式編碼方法,原因很簡單,沒有必要把class檔案弄的N 多,結果controller裡邊就一個new就完了。當然,需求頻繁變動的項目除外。 

在這個層級上,php優點表現的很明顯:快速開發,一目了然。缺點同時也隱藏得很好。

中型項目- 結構優美的OO化的PHP 

對於一個中型項目,我建議使用一個良好設計的框架來做,這個框架可以是基於MVC模型,封裝了眾多底層操作的,當然,一定要有一個好的最好是透明的cache機制,這樣,我們為了適應變化而加入的OO機制可以運作得更快更好。 

在這個等級。 php的缺點開始凸現,像是對OO支援的不完整(這個PHP5有很大改進),只能單線程模式。另外一些外圍工具開始出現缺乏支持,像PHP沒有好的重構工具,沒有好的整合到IDE中的單元測試工具。優點當然還是原來的快速開發,廣泛的可用的開源資源。 

大型專案 - 擴充、最佳化的PHP 

這裡的大型項目,簡單的指分散式項目,就是說,你的程式需要部署在N台伺服器上了。在這個層級上,PHP比起j2ee的確缺乏許多支持。我曾經和shadow在735上詳細討論過PHP要在大型系統上應用需要解決的一些問題,當然這些問題不光是PHP這個語言的問題,也包括了周邊開發的問題: 

#1、 PHP的頁面代碼共享,PHP的源代碼被載入內存一次以後,就在其中保留- 這個用APC和Zend的優化器可以搞定。

2、PHP頁面之間的資料對象共享,a.php和b.php之間可以共享一個資料對象,例如數組,這個現在可以用序列化來做,但是會有文件io,這塊可以用共享記憶體或memcached來處理。 

3、PHP的資料庫連接池,因為在多前端的情況下,PHP控制不住對資料庫的連接,所以需要在資料庫前邊去作一個連接池,類似sqlrelay的東西。另外資料快取也是很重要的,大壓力開發有一個tip,就是能不動資料庫就不要動資料庫。 

4、PHP的前端cache系統。一個透明的可控制的cache機制,確保網站的頁面以最少次數查詢資料庫。這個有很多實現,但是沒有找到特別好的。 

5、一個PHP應用,成功的解決調這幾個問題以後,應付稍微大一點的壓力是沒有什麼問題的。 

在這個層級上,重要的是,把PHP java C++ python之類融合起來,使其成為一個高效系統。我們可以用memcached來做分散式記憶體管理,可以用Lucene 來做全文檢索,用ejb 容器來放一些業務邏輯組件,PHP則作為前端和系統的膠水,快速而靈活的把這些粘合起來。

曾經實作過 PHP .NET,PHP Java之類的融合!

相關推薦:

PHP開發微信服務號碼圖解

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

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

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

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

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),