PHP 的哪個 MVC 架構值得推薦?

來源:互聯網
上載者:User

回複內容:

!--------------- created at 2014-08-23 ---------------
二話不說先來一個 Github 上 PHP 開源項目的排名 Search · stars:>0 · GitHub , 好有個概念.

大家的回答都比較老了, 現在是 2014 年 8 月下旬, PHP 最近這幾年還是發生了很多變化, 尤其是 Laravel 的出現, 讓很多已經開始放棄 PHP 的人又從新回到 PHP 的懷抱.

離開 PHP 是因為覺得社區就是一盤散沙, 大家各種為戰, 當我想學個架構, 來提高生產效率的時候, 上 Google 一搜, 出來的就是
  • 50個你必須瞭解的 PHP 架構>
  • <10個最有名的 PHP 架構>....
真的很嚇人, 這麼多的架構, 我無從入手.

最後我下定決心, 把每一個架構都學習一遍, 真正在學習的時候, 頭又大了, 每一個架構都有不同的代碼規範, 不同的架構, 不同 "功能一樣調用方式不一樣的函數方法" , 可以這麼說
每一個架構都在 發明屬於自己的語言
在學到第五個架構的時候, 我就決定放棄了, 因為, 我覺得, 我雖然年輕, 但是不至於時間如此廉價的浪費掉.

後來一直聽說 Ruby 社區有一個叫 Ruby on Rails 的 Web 架構, 是全世界最好的架構, 為了用上最好的架構我開始學習 Ruby 直到接觸 Rails, 還記得第一次用 Rails 寫 Demo App 的時候, 熱淚盈眶呀, 多麼好的設計, 並且最重要的, Rails 的社區是如此理智, 大家喊得口號是
  • Convention over configuration;
  • DRY - Don't Repeat You;
  • KISS - Keep it simple and stupid;
  • Don't reinventing the wheel;
  • Optimized for programmer happiness and sustainable productivity
多麼智慧, 多麼聰明, 又是多麼簡單的一些想法, 我瘋狂的愛上了 Rails.

2012 年末, 無意間在 Tuts+ 網站上看到 Jeffrey Way 的一套 Laravel 3 Essentials ( 注意: Laravel 現在已經是 Laravel 4 了, 這套課程已經 out dated 了 ) 課程, 看完以後對 Laravel 印象深刻, 從那會就一直留意 Laravel 的發展.

2013 年 6 月份, Laravel 4 發布, 整合了 Composer, 架構的可擴充性極高, 還有 100% full testing coverage.

關於 Laravel 4 的好, 我在這個問題裡面已經講了 最好的 PHP 架構是什嗎?為什嗎? , 就不複製過來了.

Laravel China:
Laravel China is ready Laravel 中文文檔 , 歡迎發起 issue 提交紕漏 和建議 --> Laravel China · GitHub

PHPHub:
最後對 PHP & Laravel 的愛好者喊一句, 我抽空弄了個社區, 歡迎加入一起討論技術, 一起成長.

PHPhub - PHP & Laravel的中文社區 一個乾淨, 純粹的, 積極向上的 PHP 中文社區
網站是使用 Laravel4 編寫的, 代碼基於 MIT Licence 開源 summerblue/phphub · GitHub , 歡迎大家貢獻代碼.
逛知乎看到這個問題,想起了多年前的我,過來插句嘴

不聊誰優誰劣,只是談談用過的幾個架構的感受:

1. ThinkPHP 文檔全中文,易上手,對於配置環境沒什麼要求。當年上學的時候結合sae做個小站上個活動頁,很快搞定。可想加點擴充功能的時候就很懵,一是百度不到答案,二是配置起來比較麻煩。

2. Yaf 亞一程鳥哥的作品,據說是世界上最快的php架構,不少大公司的項目都是在此基礎上再開發, 用C寫的擴充,安裝的時候得編譯,有點麻煩,需要自己造很多輪子。

3. Laravel 這兩年非常火,內建的使用者權限和blade模板用起來很方便。結合composer能把你所有想寫但不會寫或者懶得寫的功能都一健懟進來,但在沒有國內鏡像的時候每次composer install/update都像是在走鋼絲,生產環境分分鐘要爆炸。文檔有中文有英文,遇到問題能從stackoverflow上找到不少答案。

跳出來說,不糾結於使用哪種架構,落地到具體的業務情境,有一套自己最熟悉的開發工具才是最實在的事情。

同樣都是菜刀,有的人用來殺豬,有的用來雕花。

況且你大部分時間不是在寫代碼,而是在改需求。 Kohana(http://kohanaframework.org/ )是我最喜歡的架構,個人從中學習了很多,它的檔案系統和結構非常清晰,擴充靈活,安全,HMVC,大量使用了PHP5的新特性,代碼非常優雅,文檔也不錯。

我個人寫的超輕微架構也要發布了。 CodeIgniter
中文資料相對比較齊全 簡潔 易學 可擴充性強
  1. 入門層級推薦Codeigniter。因為它比較容易上手,有很棒的文檔,有中文社區,但是它也有不好的地方,一是Codeigniter不算是完全的OO架構,二是對更大一點的項目而言,功能薄弱了一點,需要自己去拓展。
  2. 功能稍微強大一點的,推薦Yii。它比Codeigniter要複雜一些,文檔沒Codeigniter的好,所以花的力氣要大一些。
個人感覺是,不要太早就上架構,打好基礎還是很重要的。
smarty只是模板引擎,應該還算不上是架構吧? yii 快 全 老外一直維護,易理解,看看文檔就能快速上手了 國外的CodeIgniter,國產的ThinkPHP
看過許多架構,有些確實強大,但是非常繁瑣難懂,比較容易上手的應該屬ThinkPHP了
如果你英文閱讀能力過硬,還是建議使用國外架構,他們通常強大和健壯的多,缺點就是出現問題的時候你只能在英文世界尋找答案 強烈推薦 Yii 架構
越用越覺得強大。
程式員寫項目不就是要講究效率嗎?如果你還在為一個分頁、表單驗證花大把的時間,那你改試試這個架構了。
不然等著你的就是加班,和加班。先使用 ThinkPHP 3.2 用作初期使用,做一個完整的產品出來,在使用的過程中要閱讀它的源碼,最好是自己能去改,因為TP是基於php 5.2設計的,與php 5.3之間的差距還非常大,所以儘可能的按照php 5.3的方式來改TP,改的過程中,自然而然能理解TP的設計原理和一個PHP架構所該有哪些功能。

然後就去使用Laravel 4,因為他文法簡潔,使用composer,命名空間等,對於PHP所完成的功能塊也清晰。

最後去使用 Smyfony,因為這個架構非常的強大,他會帶給你一個完善和爽快的新世界(前提當然是你能充分地理解它的設計目的)。

在使用這三個架構時,你就會充分的理解出他們分別的設計目的和針對的Team Dev層次了。

而決定於用哪個,便是由你的項目大小、參與人數、開發人員素質多方面決定的了。 Zend
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.