日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > IT知識庫 >

如何使用php開發高效的WEB系統


2013-04-17 12:04 作者:han 瀏覽量:

如何使用php開發高效的WEB系統

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

 

 

 

 --- 版權最終歸艾銻無限所有http://www.maosdadas.net/ 如需轉載,請標明出處。

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 灵璧县| 海南省| 澎湖县| 红河县| 静乐县| 五河县| 扬中市| 滨海县| 和顺县| 孟连| 甘谷县| 河池市| 锡林浩特市| 东明县| 林西县| 合川市| 清丰县| 卓尼县| 绍兴县| 得荣县| 西乌珠穆沁旗| 台北市| 建瓯市| 双流县| 且末县| 偏关县| 昌图县| 泗洪县| 芜湖市| 商丘市| 叙永县| 冕宁县| 林芝县| 浪卡子县| 边坝县| 盐亭县| 辉南县| 水城县| 辽源市| 冕宁县| 沧州市|