合肥市高新區(qū)長江西路與科學大道交口5F創(chuàng)業(yè)園A座309
136 5560 1775

淺析用PHP程序對網(wǎng)站進行開發(fā)的優(yōu)點有哪些?

發(fā)表日期:2014-08-26 瀏覽次數(shù):2069次

  從用戶的角度講:PHP的開發(fā)成本低,速度較快,比用ASP和JSP的開發(fā)性價比高。從技術的角度講:PHP是一個很優(yōu)秀的工具,它可以簡單,也可以復雜。不一樣的項目,應該用不一樣的PHP。
  一般對于一個功能頁面在20以下的網(wǎng)站,我們可以用一個很簡單的框架結構來寫。在這個規(guī)模上,我建議是使用比較直接的面向過程編碼方法,原因很簡單,沒有必要把class文件弄的N多,結果controller里邊就一個new就完了。當然,需求頻繁變化的項目除外。在這個級別上,php優(yōu)點表現(xiàn)的很明顯:快速開發(fā),一目了然。缺點同時也被隱藏得很好。
  中型項目---結構優(yōu)美的面向對象化的PHP
  對于一個中型項目,我建議使用一個良好設計的框架來做,這個框架可以是基于MVC模型,封裝了眾多底層操作的,當然,一定要有一個好的最好是透明的cache機制,這樣,我們?yōu)榱诉m應變化而加入的OO機制可以運行得更快更好。
  在這個級別上。php的缺點開始凸現(xiàn),像對OO支持的不完整(這個PHP5有很大改進),只能單線程模式。另外一些外圍工具開始出現(xiàn)缺乏支持,像PHP沒有好的重構工具,沒有好的集成到IDE中的單元測試工具。優(yōu)點當然還是原來的快速開發(fā),廣泛的可用的開源資源。
  大型項目---擴展、優(yōu)化后的PHP
  這里的大型項目,簡單的指分布式項目,就是說,你的程序需要被部署在N臺服務器上了。在這個層級上,PHP比起J2EE的確缺乏很多支持。我曾和shadow在735上詳細討論過PHP要在大型系統(tǒng)上應用需要解決的一些問題,當然這些問題不光是PHP這個語言的問題,也包括了周邊開發(fā)的問題:
  1 PHP的頁面代碼共享,PHP的源代碼被載入內存一次以后,就在其中保留 - 這個用APC和Zend的優(yōu)化器可以搞定。
  2 PHP頁面之間的數(shù)據(jù)對象共享,a.php和b.php之間可以共享一個數(shù)據(jù)對象,比如數(shù)組,這個現(xiàn)在可以用序列化來作,但是會有文件io,這塊可以用共享內存或者memcached來處理。
  3 PHP的數(shù)據(jù)庫連接池,因為在多前端的情況下,PHP控制不住對數(shù)據(jù)庫的連接,所以需要在數(shù)據(jù)庫前邊去作一個連接池,類似于sqlrelay的東西。另外數(shù)據(jù)緩存也是很重要的,大壓力開發(fā)有一個tip,就是能不動數(shù)據(jù)庫就不要動數(shù)據(jù)庫。
  4 PHP的前端cache系統(tǒng)。一個透明的可控制的cache機制,確保網(wǎng)站的頁面以最少次數(shù)查詢數(shù)據(jù)庫。這個有很多實現(xiàn),但是沒有找到特別好的。
  5 一個PHP應用,成功的解決調這幾個問題以后,應付稍微大一點的壓力是沒有什么問題的。
  在這個級別上,重要的是,把PHP Java C++ python之類融合起來,使其成為一個高效系統(tǒng)。我們可以用memcached來做分布式內存管理,可以用Lucene 來作全文檢索,用EJB 容器來放一些業(yè)務邏輯組件,PHP則作為前端和系統(tǒng)的膠水,快速而靈活的把這些粘合起來。

將文章分享到:

版權所有:啟邁科技-合肥網(wǎng)站建設 皖ICP備19009304號-1 皖公網(wǎng)安備 34010402702162號

網(wǎng)站建設,網(wǎng)站設計公司啟邁科技,為眾多企業(yè)提供網(wǎng)站建設,網(wǎng)站制作,響應式網(wǎng)站設計,手機網(wǎng)站建設,微網(wǎng)站,模板建站,企業(yè)郵箱等一站式互聯(lián)網(wǎng)解決方案和建站服務10年。