- 相關(guān)推薦
使用PHP開(kāi)發(fā)高效的WEB系統的方法介紹
PHP是一門(mén)高效的網(wǎng)絡(luò )編程語(yǔ)言,由于它具有編寫(xiě)靈活、運行快速等優(yōu)點(diǎn),迅速成為Web程序員的首選語(yǔ)言。以下是小編為大家搜索整理的php開(kāi)發(fā)高效的WEB系統的方法 ,歡迎閱讀!
小項目 - 簡(jiǎn)單而直接的PHP
一般對于一個(gè)功能頁(yè)面在20以下的網(wǎng)站,我們可以用一個(gè)很簡(jiǎn)單的框架結構來(lái)寫(xiě)。在這個(gè)規模上,建議是使用比較直接的面向過(guò)程編碼方法,原因很簡(jiǎn)單,沒(méi)有必要把class文件弄的N 多,結果controller里邊就一個(gè)new就完了。當然,需求頻繁變化的項目除外。
在這個(gè)級別上,php優(yōu)點(diǎn)表現的很明顯:快速開(kāi)發(fā),一目了然。缺點(diǎn)同時(shí)也被隱藏得很好。
中型項目 - 結構優(yōu)美的OO化的PHP
對于一個(gè)中型項目,建議使用一個(gè)良好設計的框架來(lái)做,這個(gè)框架可以是基于MVC模型,封裝了眾多底層操作的,當然,一定要有一個(gè)好的最好是透明的cache機制,這樣,我們?yōu)榱诉m應變化而加入的OO機制可以運行得更快更好。
在這個(gè)級別上。php的缺點(diǎn)開(kāi)始凸現,像對OO支持的不完整(這個(gè)PHP5有很大改進(jìn)),只能單線(xiàn)程模式。另外一些外圍工具開(kāi)始出現缺乏支持,像PHP沒(méi)有好的重構工具,沒(méi)有好的集成到IDE中的單元測試工具。優(yōu)點(diǎn)當然還是原來(lái)的快速開(kāi)發(fā),廣泛的可用的開(kāi)源資源。
大型項目 - 擴展、優(yōu)化后的PHP
這里的大型項目,簡(jiǎn)單的指分布式項目,就是說(shuō),你的程序需要被部署在N臺服務(wù)器上了。在這個(gè)層級上,PHP比起j2ee的確缺乏很多支持。我曾和shadow在735上詳細討論過(guò)PHP要在大型系統上應用需要解決的一些問(wèn)題,當然這些問(wèn)題不光是PHP這個(gè)語(yǔ)言的問(wèn)題,也包括了周邊開(kāi)發(fā)的問(wèn)題:
1 PHP的頁(yè)面代碼共享,PHP的源代碼被載入內存一次以后,就在其中保留 - 這個(gè)用APC和Zend的優(yōu)化器可以搞定。
2 PHP頁(yè)面之間的數據對象共享,a.php和b.php之間可以共享一個(gè)數據對象,比如數組,這個(gè)現在可以用序列化來(lái)作,但是會(huì )有文件io,這塊可以用共享內存或者memcached來(lái)處理。
3 PHP的數據庫連接池,因為在多前端的情況下,PHP控制不住對數據庫的連接,所以需要在數據庫前邊去作一個(gè)連接池,類(lèi)似于sqlrelay的東西。另外數據緩存也是很重要的,大壓力開(kāi)發(fā)有一個(gè)tip,就是能不動(dòng)數據庫就不要動(dòng)數據庫。
4 PHP的前端cache系統。一個(gè)透明的可控制的cache機制,確保網(wǎng)站的頁(yè)面以最少次數查詢(xún)數據庫。這個(gè)有很多實(shí)現,但是沒(méi)有找到特別好的。
5 一個(gè)PHP應用,成功的解決調這幾個(gè)問(wèn)題以后,應付稍微大一點(diǎn)的壓力是沒(méi)有什么問(wèn)題的。
在這個(gè)級別上,重要的是,把PHP java C++ python之類(lèi)融合起來(lái),使其成為一個(gè)高效系統。我們可以用memcached來(lái)做分布式內存管理,可以用Lucene 來(lái)作全文檢索,用ejb 容器來(lái)放一些業(yè)務(wù)邏輯組件,PHP則作為前端和系統的膠水,快速而靈活的把這些粘合起來(lái)。
【使用PHP開(kāi)發(fā)高效的WEB系統的方法介紹】相關(guān)文章:
php在新浪云中使用imagick的方法07-14
PHP開(kāi)發(fā)環(huán)境安裝的方法有哪些10-27
Java開(kāi)發(fā)web的幾種開(kāi)發(fā)模式12-13
Web開(kāi)發(fā)的教程圖解06-05
PHP中curl的使用實(shí)例07-31
PHP必備功能開(kāi)發(fā)10-02
蝴蝶機的使用方法介紹10-15
win7系統激活工具的使用方法01-12