標籤:兄弟連
PHP成為最流行的指令碼語言有許多原因:靈活性,易用性等等。對於項目開發來說,我們通常需要一個PHP架構來代替程式員完成那些重複的部分。本文,兄弟連PHP培訓將對PHP架構進行全面解析。
PHP架構是什麼?
PHP架構提供了一個用以構建web應用的基本架構,從而簡化了用PHP編寫web應用程式的流程。這樣不但節省開發時間,有助於建立更穩定的應用,而且減少了重複編碼的開發。架構還可以協助初學者建立更穩定的應用服務,這可以讓你花更多的時間去建立實際的Web應用程式,而不是花時間寫重複的代碼。
我們通常認為PHP架構的作用相當於模型-視圖-控制器(Model View Controller)。MVC是種編程的架構模式,將商務邏輯從UI中分離出來,允許一個一個單獨修改。MVC打破了一個應用的開發進程,這樣各組件就可以不受影響地各自工作,使得用PHP編碼更快更簡單。
為什麼要使用PHP架構?
開發人員使用PHP架構的好處很多,其中之一是加快開發進程,為開發人員節省大量的時間和精力。另外,穩定是開發人員使用架構的另一個重要原因。雖然簡單是PHP最大的優點,很多人也因為這一點喜歡使用這個指令碼語言,但它同時也是PHP最大的缺點。一些開發人員尤其是初學者很容易寫出低劣的代碼,而自己卻沒有意識到。
PHP是一個非常寬容的語言,因此,更重要的是在編程時確保沒有漏洞。最後,PHP架構的使用是非常廣泛的,而且有許多不同的架構可供選擇。許多開發人員會選擇知名的架構,而且他們可以通過論壇/社區來與其他使用相同架構的開發人員交流,當然你也可以開發自己的架構。在選擇架構之前,你應該先問自己:它會節省你和其他使用者的時間和精力麼?應用程式的效能會更好麼?是否會提高穩定性?如果這些問題你的回答都是是,那麼你就該為你的項目選擇一個合適的架構了。
何時使用PHP架構?
這是一個無論有經驗的開發人員還是初級開發人員都共有的問題。對於許多初學者來說,一個架構將提供很多簡便和穩定,因此應該儘可能地使用PHP架構。這將有助於減少或消除不良編碼,加快開發進程。另一方面,許多有經驗的PHP程式員將架構視為不知道如何寫出優秀的代碼的低級程式員的工具。總之,當工作的項目時間緊迫時,使用PHP架構就有很多好處,可以大大加快編碼進程。另一個情境是當你所做的項目有大量代碼時,也應當考慮使用PHP架構,因為這將有助於減少工作的繁瑣度。
最好的PHP架構有哪些?
過去的幾年中,因為PHP已發展成為大多數開發人員選擇的指令碼語言,因而也產生了大量的PHP架構。什麼是最好的PHP架構,仁者見仁智者見智,因為並非每一個架構都能夠適合每一個人。這裡給出了一些PHP架構的評價:
◆The Zend Framework
Zend Framework在開發人員社區中很有人氣,其重點是Web 2.0風格的應用程式。由於其廣泛的支援和積極的使用者群,Zend被稱為PHP Company。Zend即使不是當今最流行的PHP架構,也絕對是之一。它強大的功能能夠滿足企業級的需求,當然它的使用也需要具備廣泛的PHP知識。
◆CakePHP
從初學者到進階PHP開發人員,CakePHP都是一個很棒的選擇。它與 Ruby on Rails設計的原則基本相同,主要集中在快速開發方面使其成為一個快速應用開發的優良架構。其迅速增長的支援系統、簡單和可擴充性使CakePHP成為當今最熱門的PHP架構。
◆Symfony
Symfony針對的更多的是進階開發人員,也即建立企業級應用的開發人員,尤其是Askeet和Yahoo! Bookmarks。這個開源的PHP架構功能全面,但它的主要缺點是速度慢於其他架構。
◆CodeIgniter
CodeIgniter以其易用性、效能和速度而聞名。不同於Symfony,CodeIgniter主要針對的是與人共用主機的開發人員,或者為小型裝置尋找PHP架構的開發人員。它提供簡單的解決辦法,而且有一個擴充庫包括視頻教程、論壇、使用者指南和wiki。初學者應該考慮使用CodeIgniter 。
◆Seagull
Seagull是一個穩定的用於構建web、命令列和GUI應用的PHP架構。這是一個非常便於使用的架構,非常適合初學者到進階程式員。對於初學者,Seagull有一個範例應用庫,可以自己設定後滿足自身需求;對於進階開發人員,Seagull提供了眾多選擇包括最佳實務、標準、模組化的代碼基,這些都可以協助快速簡單地構建Web應用程式。Seagull有一個活躍的開發人員社區,內有大量的支援性文檔和說明。
以上數款PHP架構,各有特色,而且都是開源項目,不過架構針對的項目不一樣,一般來說 CodeIngiter 比較適合小型項目,CakePHP 和 Zend Framework 比較適合中型項目,Symfony 比較適合大型重量級項目,在項目選型的時候,要充分考慮架構的可以定製性、擴充性,因為每個項目都無法確定你是否會隨著需求的變化進行改變。
全方面瞭解和學習PHP架構 PHP培訓教程