最好的 PHP 架構是什嗎?為什嗎?

來源:互聯網
上載者:User

回複內容:

------------------- 更新於: 2014 . 09. 02 ------------------

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

------------------- 更新於: 2014 . 08. 17 ------------------

PHPhub - PHP & Laravel的中文社區 一個乾淨的 PHP 中文社區一直是我的夢想, 這幾天動手寫了一個, 今天算是正式上線, 雖然還有好多功能需要最佳化, 歡迎大家加入, 給我點動力, 哈哈.

使用 Laravel4 編寫的, 代碼也是開源的 summerblue/phphub · GitHub

------------------- 更新於: 2014 . 03. 06 ------------------
一個比較令人信服的資料:

Laravel 是 Github 上最有名的 PHP 項目, 8627 個 star, 領先第二名的 Symfony 和 第三名的 CI 接近 1000個 star, 見這裡 --> Most Star PHP Project On GitHub

ci 和 symfony 得話多少年才能達到今天的影響力, 而 Laravel 的第一個 commit 發生於 Jun 09, 2011 , 見:



---------------- 首次發布 ---------------------

Laravel4 , 整個 PHP 社區都為之瘋狂的架構.

Laravel4 講究的是最佳實務, 是一個積極向上的架構, 向 牛B 的 Rails 看齊, 借鑒了很多在成熟架構已經體現出來很成功的元素:

  1. RESTful Routing ;
  2. 設計精妙的 Blade 模板引擎, 輕快, 不失靈活 ;
  3. 合理的 ORM model 層, Eloquent ORM , 借鑒於 Rails 的成功;
  4. migration 資料庫版本系統 和 seeding ;
  5. 使用包管理器 Composer , 開啟了一扇開往春天的門;
  6. 強調測試驅動, 整個核心經受過完整的測試, 高品質的代碼;
  7. 命令列驅動, 可以做到高度自動化 (講究效率, 代碼產生器...) , 借鑒與 rails ;
  8. 合理使用 PHP 的新版本特性, 讓寫代碼更加有樂趣, 跟上時代的步伐;
  9. 積極向上的社區, 這個很重要呀, 大家都在學習著, 創造著好的工具, 加快開發速度, 提高編程效率, 接受新知識的速度也很快.
  10. 對 php 標準化的支援 PHP-FIG — PHP Framework Interop Group

另: 以下幾個連結供參考

Best PHP Frameworks for 2014
Why Laravel is Taking the PHP Community by Storm
The future of web development is Laravel

2014 我有個願望, 希望 PHP 社區一盤散沙的局面成為過去, Laravel, Composer, PHP-Fig 才是未來, 快速開發, 遵守規範, DRY, 構建一個團結的社區, 聰明, 理智的社區.

沒有一個比現在更合適的時間了, 朋友們, 把我頂起來吧, 讓 PHP 的新人和老鳥都知道在 PHP 社區裡面, 有這麼一個好東西的存在, 也算為 PHP 社區做貢獻. May God be with You.
------------------------------------- END -------------------------------------首推 Laravel ,其次是 Yii,Laravel 的設計思想以及在工程實踐上的支援,超過 ThinkPHP 好幾個世代。如果說原生的 PHP 是火槍, ThinkPHP 就是來福槍,Lavavel 則是衝鋒槍。你要打獵的話,帶把來福槍完全足夠了,但是要上戰場,非得更自動化的衝鋒槍不行。

好處有很多啊:
  • Composer 做包管理
  • 標準的 Autoload 實現,可以讓 `include xxx.php` 成為曆史
  • 各種依賴注入
  • ORM 支援
  • 好用的命令列和腳手架
  • 豐富的文檔和活躍的社區
即使有這麼多好處,也不過是追趕了幾年前 ROR 的水平,還在用 ThinkPHP 的人,不過是懶得接觸新知識罷了。

說ThinkPHP適合國人使用的人,自黑的時候不要帶上別人,多謝。在PHP5.3之後,PHP-FIG和Composer給PHP社區帶來了巨大的變化,如果一個架構還沒用到Composer,還是invent everything here,就真的有點落伍了。
有了Composer的支援,像攢電腦一樣實現一個自己的架構也不是多困難的事兒了,但是要做出一個“好”架構還是挺困難的一件事。項目用過的架構6個(ZF1,SF2,CI,Yii,Laravel4,Silex),瞭解過的就不數了,見過的架構中最優秀的當屬Laravel4,解釋如下:
  1. 直接。各種常用的功能都由一些簡單的Service實現,通過Facade訪問,很多常見的問題都簡單優雅的處理了,介面設計很貼心,大部分使用情境都替你考慮到了。由於功能簡單直接,文檔也就無需贅言,官網上的文檔也不是太多,看一遍完全可以開始幹活兒。
  2. 開放。有了Composer,優秀的代碼可以很方便的引入項目,Laravel的架構就用到了boris,whoops,monolog,swiftmailer和symfony下面的一批基礎類庫,而不是非得自己寫的代碼才放心。
  3. 簡單。不只是使用上的簡單,架構本身的實現也不像別的“企業級”架構那麼沉重,各個功能見很少的耦合,通過依賴注入容器組裝起來。要從原始碼裡挖掘架構內部的實現也沒有那麼多抽象層級。

另外,PHP新手還是從PHP The Right Way開始學吧,對新時代的PHP有個正確的認識,CI適合的是還在用並不存在“最好”的PHP架構,只有適合你自己和你項目的,真正負責任的回答是由你自己做出的,嘗試,比較,然後決定。如果你是新手我建議你學習ci,如果你入行已久又害怕麻煩,我建議你看yii,如果你提高開發效率並願意接觸新玩具,我推薦你看laravel4CI。
如何你想要更好的架構,PHP滿足不了你,用rails吧。不是萬金油的回答, 但是真的沒有最好, 只有最合用。
架構分四種:
1. [把檔案層先脫離出來就是大一步了]的Minimalist 系: Slim/KissMVC => 都差不多
2. [把輪子通通拿來給本大爺用的]功能齊全大庫系: Yii, CI, Cake 等 =>Yii 比較好
3. [不能高級一點嗎?]的安裝擴展系: Laravel, ZF => Laravel 比較好
4. [速度最實際]的C 系: Yaf, Phalcon => Phalcon 比較豐富和大家一樣,論強大推薦Yii。
  • yii架構是首選,文檔齊全,物件導向很徹底,效能超群。執行個體化模型以後很多組件都能用上,唯一不喜歡的是查詢出來的資料操作都是對象式的,我還是比較喜歡數組方式,只好用chtml::listData()轉化。另zii wigdet對於提高開發速度非常牛逼。
  • 其實thinkphp 3真的很不錯,而且容易上手,文檔更全更適合國人。我個人比較喜歡thinkphp的db部分和route rest部分。
  • zend framework 更加像一個超大超全的類庫,雖然運行速度有點慢,很多架構都留有zend類的介面,其價值可見一斑
  • codeigniter沒仔細看,不敢妄言,中文支援比較少,很多人用的是他的分支版,kohana,有興趣的話可以看下。
  • 最後說一下speedphp,這個架構的設計思想我很喜歡,簡單高效,有sae版,擴充方便,適合改造,速度也不錯,我開發社交遊戲就喜歡用這個架構改造。
說了這麼多,架構還是要適合你的業務才是最好的。 很難說哪個最好。

使用架構的好處有:
1. 利用架構提供的標準程式架構和實用的組件進行高效開發
2. 利用架構完善的文檔,有利於團隊新成員培訓和協作開發,減少溝通成本

能達到以上目的,都算不錯的架構。因為目前主流架構都是MVC結構+一些實用的組件、類庫,除了資料庫處理這一塊,其他地方差別不大。

個人推薦Zend Framework和Yii。 最好的php架構當然是spring,呵呵 。
  • 相關文章

    聯繫我們

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