php開發高效的WEB系統的方法
PHP是一門高效的網絡編程語言,由於它具有編寫靈活、運行快速等優點,迅速成為Web程序員的首選語言。以下是小編為大家搜索整理的php開發高效的WEB系統的方法 ,歡迎閲讀!更多精彩內容請及時關注我們應屆畢業生考試網!
小項目 - 簡單而直接的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頁面之間的數據對象共享,和之間可以共享一個數據對象,比如數組,這個現在可以用序列化來作,但是會有文件io,這塊可以用共享內存或者memcached來處理。
3 PHP的數據庫連接池,因為在多前端的情況下,PHP控制不住對數據庫的連接,所以需要在數據庫前邊去作一個連接池,類似於sqlrelay的東西。另外數據緩存也是很重要的,大壓力開發有一個tip,就是能不動數據庫就不要動數據庫。
4 PHP的前端cache系統。一個透明的可控制的cache機制,確保網站的頁面以最少次數查詢數據庫。這個有很多實現,但是沒有找到特別好的。
5 一個PHP應用,成功的解決調這幾個問題以後,應付稍微大一點的壓力是沒有什麼問題的。
在這個級別上,重要的是,把PHP java C++ python之類融合起來,使其成為一個高效系統。我們可以用memcached來做分佈式內存管理,可以用Lucene 來作全文檢索,用ejb 容器來放一些業務邏輯組件,PHP則作為前端和系統的膠水,快速而靈活的把這些粘合起來。
-
php怎麼生成隨機密碼
使用PHP開發應用程序,尤其是網站程序,常常需要生成隨機密碼,如用户註冊生成隨機密碼,用户重置密碼也需要生成一個隨機的密碼。隨機密碼也就是一串固定長度的字符串,下面小編收集整理了幾種生成隨機字符串的'方法,以供大家參考。方法一:1、在33–126中生成一個隨機整...
-
php新手易犯的幾個小錯誤
本文為大家列舉了php新手易犯的幾個小錯誤,供大家參考。1、headeralreadysent這個錯誤通常會在你使用HEADER的時候出現,他可能是幾種原因。跟隨小編去看看吧!1、headeralreadysent這個錯誤通常會在你使用HEADER的時候出現,他可能是幾種原因:1,你在使用HEADER前PRING...
-
PHP軟件工程師的筆試題
導語:作為計算機專業畢業生的你,知道多少PHP軟件工程師的筆試題。下面的是本站小編為大家蒐集的PHP軟件工程師的筆試題,供大家參考。1.基本知識點HTTP協議中幾個狀態碼的含義:503500401200301302。。。Includerequireinclude_oncerequire_once的區別.PHP/Mysql中...
-
PHP的SPL標準庫的用法介紹
本文介紹下,php編程中SPL中的用法,SPL,PHP標準庫(StandardPHPLibrary),此從PHP5.0起內置的組件和接口,有需要的朋友參考下。PHPSPL的用法SPL,PHP標準庫(StandardPHPLibrary),此從PHP5.0起內置的組件和接口,並且從PHP5.3已逐漸的成熟。SPL其實在所有的PHP5開發環境中被內置,...