關於PHP開發框架 為什麼要用開發框架

來源:互聯網
上載者:User

仲介交易 SEO診斷 淘寶客 雲主機 技術大廳

什麼是PHP開發框架?

有太多的原因使得PHP成為世界上最受歡迎的指令碼語言——高度靈活、簡單易用——不過寫PHP(或者任何這種語言)代碼時,人們常常陷入單調重複而令人生厭的體力活動的窘境。 而這正是PHP開發框架大顯身手的地方。

通過提供一個開發Web程式的基本架構,PHP開發框架把PHPWeb程式開發擺到了流水線上。 換句話說,PHP開發框架有助於促進快速軟體發展(RAD),這節約了你的時間,有助於創建更為穩定的程式,並減少開發者的重複編寫代碼的勞動。 這些框架還通過確保正確的資料庫操作以及只在表現層程式設計的方式説明初學者創建穩定的程式。 PHP開發框架使得你可以花更多的時間去創造真正的Web程式,而不是編寫重複性的代碼。

PHP開發框架背後的思想被稱為「模型—視圖—控制器」(MVC)。 MVC是這樣一種架構模式,它隔離了業務邏輯與UI,允許其一改變而另一者不受影響。 (也可以說是關注點的隔離)在MVC中,模型負責資料,視圖負責表現,控制器則是程式主體或者說是負責業務邏輯。 從本質上說,MVC拆分了一個程式的開發過程,這樣你就可以修改獨立的每一部分,而其他部分不受影響,這是十分重要的,它使得編寫PHP代碼更為快捷簡單。

為什麼要使用PHP開發框架?

開發者可能出於不同的考慮而使用PHP開發框架,不過首當其衝的原因是為了加速開發過程。 相似工程之間的代碼重用能夠節省開發者大量的時間和精力。 PHP開發框架內置了預建的模組,免去了冗長又令人厭煩的程式設計工作。 這樣開發者就能夠把時間活在開發實際程式上,而不是每一次都要為每一個專案重建基礎模組。

穩定性是開發者使用框架的另一個重要原因。 儘管簡單是PHP最大的資本,也是許多人喜愛這個指令碼語言的原因,它也是PHP的「潘朵拉之盒」,尤其是那些初學者而言,PHP是如此的簡單以至於他們會完全沒有意識地寫出低品質的代碼。 這樣的PHP程式可能在大多數時間內仍正常工作,但你可能已在代碼中留下了巨大的安全性漏洞,使其易受攻擊。 要時刻牢記PHP是一門很寬鬆的語言十分重要,因此確保不在代碼中遺留任何安全性漏洞是重中之重——即使程式看起來工作正常。

最後一點,PHP開發框架是可擴展的,並且有許多框架可供選擇。 你也可以創造你自己的,不過許多開發者決定從那些流行的知名的開發框架中做選擇,因為它們往往有著龐大的支援小組,以及相關的論壇/社區方便你與其他使用同一個框架的開發者相互交流。 注意,你應當事先檢驗你的專案是否需要使用框架,這裡提供一份簡單的清單以供參考:使用框架能否節省你(和其他任何會使用它的人)的時間和精力?是否能夠讓程式得到更好的表現?能否提高穩定性?如果你對上面任何一個問題的回答是肯定的 ,那麼使用PHP開發框架對於這個專案就可能是正確的選擇。

何時使用PHP開發框架?

這是開發者,無論初學者還是經驗豐富的專家,常常詢問的問題,但又真的沒有直截了當的答案。 對於許多初學者而言,框架提供了良好的穩定性和簡潔性,所以他們認為只要能用就應該用框架。 它能夠減少低品質代碼的產生,並加快專案進度。

另一方面,許多經驗豐富的PHP程式師把框架視為那些不懂得如何寫出高品質的清晰的代碼的「初級」程式師而設計的工具。 這句話對錯與否有待商榷,但事實上PHP開發框架的確是用來節省時間和提高程式設計效率的工具。

在忙於接近最後期限的工程時,使用PHP開發框架將帶來巨大的效益,因為它能夠極大地加快程式設計進度。 所以如果你時間緊迫,使用PHP開發框架是極其正確的。 應當把PHP開發框架列入考慮範圍的另一個例子是當你忙於一個有大量重複代碼的專案時,因為它有助於減少重複工作量。

在PHP開發框架中應當關注什麼?

去搜索PHP開發框架的人將會看到各式各樣的選擇,你甚至可以創建你自己的,儘管只推薦PHP專家們這麼做。 在尋找最適合你需求的PHP開發框架時,你要時刻想著誰會使用和/或徹頭徹尾地修改它,這點很重要。 如果會有許多人使用這個程式,最好用一個大多數開發者都熟悉的框架。 另一方面,如果你想要一個自己使用的Web程式,你最好選擇一個你覺得最舒服的PHP開發框架——管它是流行還是不受歡迎呢。

在尋找PHP開發框架時應該考慮多種因素:簡單易用,敏捷開發/性能,在其它開發者中間的流行程度,強大的特性,以及支援/論壇。 我推薦你先嘗試幾款不同的PHP開發框架,從中找出一個最適合你需求的,各種框架之間有些微的差異,有著不同的優勢和劣勢。 就拿Zend Framework來說,V3版本之後就帶有了豐富的功能,再加上一個可擴展的支援系統,這一切都是因為它存在了足夠久。 作為對照,CakePHP是另一個比Zend Framework年輕的PHP開發框架,它的支援系統的規模就略微小些(儘管對這個框架的支援正在飛速增長),但CakePHP更加方便使用且簡單易用。

如你所見,每種PHP開發框架都有它自己的有點,所以最好先做一些嘗試,捕捉一些錯誤以便找出哪個框架能最好地服務于你的需求。 另一種很好的選擇框架的方式是諮詢你那些身處開發者社區的同事,問問他們喜歡哪個。 那些真正用過某個框架的人會告訴你它是否易用,特性,可用的支援,框架周邊的社區所涉及的領域,他們還可能告訴你它的缺點。

使用PHP開發框架時最常見的錯誤

任何一種類型的程式設計都會出現錯誤,不過PHP開發框架能夠極大地限制這些錯誤的產生,因為它從開發過程的一開始就提供了經過驗證的正確代碼。 而且看來重複的代碼編寫會增加錯誤出現的概率,而框架徹底解決或至少減少了那個問題。

這就是說,使用PHP開發框架仍然又需要注意的問題。 例如,除非你是個PHP專家,否則你應該選擇一個流行些的框架,它們有著豐富的支援和一定的活躍使用者基數(下面會列舉一些流行的PHP開發框架)。 有許多框架只有少得可憐的支援甚至沒有支援,並且/或者是由對PHP瞭解有限的人創建的。 這些框架會導致你的程式不能正常工作,更壞的情況下會導致你的網站出現災難性的安全問題。

另一種常見的錯誤是沒有確保資料庫和網站伺服器相容特定的框架。 例如Seagull PHP Framewor推薦如下配置:

PHP: PHP 4.3.0 是最低配置,之後的版本也支援,PHP 5.1.1 及更高版本也可以。 請避免任何 5.0.x 系列的東西。

MySQL: MySQL 4.0.x, 4.1.x 和 5.0.x 都支援,你也可以使用 3.23.x。

Apache: Seagull 在 1.3.x and 2.x 系列的 Apache 中工作得很好。

如果你不能滿足這些要求,你就不能得到所選擇框架可能的最佳性能。 就算你是PHP專家,也應該在嘗試框架之前閱讀其文檔以確保相容性。

和上面這個錯誤比較類似的,不按照推薦安裝步驟去安裝你的PHP開發框架也會給你帶來令人頭痛的煩惱。 仍然用Seagull作為例子——Seagull的Wiki上有一份詳細的框架安裝流程,其中有幾個關鍵步驟有時候常常被粗心或者沒有戒心的開發者輕易地忽略了。 關鍵是你一次就把框架裝好會讓你在接下來的實際開發中節約不必要的時間開銷。

原載:Noupe.com 翻譯:Aquarhead

原文連結:HTTP://www.noupe.com/php/discussing-php-frameworks.html

譯文連結:HTTP://www.yeeyan.com/articles/view/aquarhead/51909

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.