Yii 、laravel、phalcon 哪個比較好?

來源:互聯網
上載者:User
公司要重新開發商城網站,之前是用ecshop的,現在要重新開發,要用架構來寫,以上三個個人蔘考了網上的評論,是最為較好的,但不知如何選擇。還有一方面,希望能對商城網站有較大的控制自由度,主要是對商城的後期功能擴充而不用局限於架構,但又容易跟架構結合。本人初級phper,求各位大神給點意見

回複內容:

個人比較推薦yii,原因如下:
  • 效能上:phalcon > yii ≈ laravel,因為phalcon使用C語言開發,以php擴充的方式載入,這樣不需要對架構進行額外的解析和執行,所以效能好。但同時也降低了架構的可控性,架構層面出現bug不好排查,不懂C語言和php擴充開發很難修複。
  • 代碼的可讀性上來說,laravel更勝一籌。(表現力較強,不懂php基本也能看懂他在做什麼)
  • 但從開發速度上來說,yii ≥ laravel > phalcon。
  • 從學習成本、使用成本:yii ≥ laravel > phalcon。
綜合上述:yii以微弱的優勢領先,推薦yii。Yii 強大的組件,豐富的類庫,成熟的模式,方便的gii,各式的widget,使你開發速度提升了幾個等級
我用好幾年了,公司上項目基本都是yii。
更多案例:http://www.yiichina.com/cases 我用過不少PHP架構,CI/Kohana/Zend/Yii/Qcodo,也research過laravel,沒什麼不喜歡,不過技術上我已經懶得區分它們的長短,形成不了本質的區別。Yii是一個成熟的優秀架構,它的架構貼近實際用例,原始碼也很好讀,這不是說其他架構就不是這樣,只是說Yii做得也很好。

我最後待在Yii的陣營,首先當然我喜歡這個架構給開發提供的可能性,和它的架構設計;

但最主要的是因為Yii的作者薛強,Qiang Xue | LinkedIn
Qiang Xue is an established software engineer with 10+ years of enterprise software development experience. He is an expert in business intelligence software as well as Web framework development. He is the founder of Yii, one of the most popular Web frameworks, powering thousands of Web applications. Qiang is an avid open source contributor, a big fan and practitioner of test-driven development and agile methodology. Qiang received his PhD degree in Computer Science from Duke University.
是一個說中國話的華人,如果我打算把我的時間投資在一項關鍵技術或者一個社區,我認為作者和作為使用者的文化有重合是很重要的非技術因素;

也許只是我個人的感覺 — 直到有一天我悄悄地注意到,我的法國同事極力推崇Symfony懶得看Yii哪怕我把各種advantage是多麼適合新手上手(想必SF)和敏捷開發都放到ppt裡了。

文化是重要的,用Yii讓我和它有種Connection,我比較care,說白了,就因為哥們是華人;流不流行真的,算個什麼,況且Yii也很流行,用它做了很多項目,一直很舒適。供你參考:選架構前我閱讀了很多篇文章,國內的國外的,中英文都有,最後選擇Yii ==> Yii2從11年接觸yii開始,知道現在,用yii做了好幾個項目,大概都屬於BAT裡邊的中小型startup項目比較多。最近的一個是一個電商項目的應用程式層。整體來說yii的確是一個很好的平衡。
1.自動化crud,讓你在有了資料建模之後,瞬間完成介面。
2.layout等view的配置模式,讓你可以輕鬆區塊化。
3.靈活的widget機制,重用區塊也很方便,這次電商系統頁面上複雜的廣告位就通過這個來實現的。
4.模組的提供,能讓幾個團隊在同一個項目中輕鬆分割代碼。(運營的活動,都是另外一個Team Dev在幾個模組先單獨去開發的)
5.url manager 的規則,能將一個controller變換成任意客戶需要的url link 格式(一開始客戶要xxx/product-111.html 後來要xxx/p/111.html最後要xxx/111.html)
6.緩衝、session等封裝,讓你輕鬆在redis 檔案快取,資料庫等之間切換
7.強大的log系統,不同層級的日誌,方便trace問題
8.驗證部分可能見仁見智,但是對於初期,良好的model+validate的封裝,可以重用前端js和後端PHP層的驗證,而表單提交的驗證,也是最複雜的部分,相對就簡化了
9.主題功能,通過不同主題,實現了一期二期的迅速反覆式開發法。同時也實現了pc版和移動版
10.效能方面,通過opcache,實際上並不慢,可以想見php7支援後,效能仍然可以提高一個層次。千萬pv到億級pv而言,也能撐住,當然如果有這麼大的量,您可以選擇任何技術架構了。

暫時這麼多,有什麼問題,大家可以留言,真心推薦startup用yii,只要follow規則,寫出來的代碼品質也比較高。其他兩個架構,我用得不多,不做評價。

在國外,Symfony2 一直是企業級php架構的標準,電商也基本使用Symfony2,例如Magento,Sylius等,我做過簡單的比較,Laravel 和 symfony 在架構和核心功能上,基本上是一模一樣的~~不存在誰更強大之說。 但是laravel 有兩點不同,第一個語言優美,第二個out of box,它是以使用者為中心的,做了比較多的封裝,用了很多best practise的約定,偏向黑盒,比較像蘋果的風格,就像蘋果手機; symfony2 偏向白盒,架構清晰靈活,但是非常複雜繁瑣~~你需要自己做很多輪子,好處就是輪子都可以很輕鬆調試,有點像windows的企業版。

單就架構本身而言,個人認為Laravel 5.1 是在所有當前『全棧式』php架構中最好的。這裡的關鍵字是『全棧』,Laravel 5.1 幾乎可以搞定任何web應用,和js的一些前端架構相容得非常完美。也就意味著,個人開發人員可以圍繞這個架構獨立的開發出非常牛B的應用,比如像以前熱門的SNS社區系統,用laravel來實現基本上就是牛刀小試。

團隊開發上Laravel 5.1 也極具優勢,它良好的擴充性和先進的架構,是真正意義上的『現代架構』,團隊可以基於架構的特性制定出非常豐富的開發策略。例如,Laravel對CLI命令有著良好的支援,這意味著自動化代碼方面,可以有非常大的發揮空間。

無論是PHP菜鳥還是老手,Laravel 5.1都非常值得學習,它就好像是PHP領域的Photoshop,所以不用猶豫了。

如果這幾個架構你都沒用過,強烈建議先入手Laravel

個人推薦Yii學習新架構能不能帶來工資上漲?

如果回答是No。那麼吹的再好的架構對你都是無(ran)所(Bing)謂(nuan)。不要在意那些個佈道的人怎麼說。我每次被人步道優雅,高效,個人修養的時候。我就直接問他能不能漲工資

市場對你的定價基本說明了一切。有時間學那玩意不如多陪陪你女票。

猿類通常思想比較單純。容易被各種步道的人騙。大家要提高警惕!

--------------------------------------------------------------我用CI。比較簡單的話不用架構。用一些composer包組裝即可。Lara依賴太多的composer包了。每個組件看下來時間太長。Yii如果你要用內建的東西。就必須滿足這些架構的命名以及各種既定的約束。
然而程式本身是非常自由的。每個語言不過是給我們一些基本的約束。具體房子怎麼搭。全看個人愛好。
感覺你一旦熟悉了架構。最後一定會脫離這些東西的

個人觀點:大部分架構都是坨翔。初學者的因為看不懂架構。所以覺得架構多麼的厲害。高效方便。當然。學習架構對初學者養成一些規範和加深對語言理解還是非常有協助的。但是一千個人心裡有一千個哈姆雷特!架構再好也只不過是架構作者對某些語言的理解罷了!你的理解未必一樣。當你熟悉了過後慢慢的就會有自己的獨特理解和認識。laravel, phalcon都囊括了當下流行的設計思想和編程意識
laravel雖然比較複雜,功能強大,結合composer,充分利用各種第三方類庫組合實現架構,比如doctrine,symfony系列組件。必然是未來發展趨勢,相當值得一用。

phalcon是通過擴充實現php架構的另一發展思路,同時還衍生出了zephir這種另類的php擴充開發方式,如果要對架構做深度定製,沒有C的基礎,確實是很大的一個難題,但是這個架構在出現問題的時候,容易讓新人困惑,以及不好定位問題。

個人對Yii沒有什麼好感,槽點太多。奇怪的目錄結構,不倫不類的名字空間規則(早期學java風格),有太多的規則來約束開發人員的行為,組件定義不好用,文檔說明生硬。

上面幾個架構,對初學者而言,門檻都比較高,如果不對架構做深入的學習和理解,很難輕鬆駕馭。
推薦symfony,功能強大,初學門檻低,設計思想前衛,適合大中型項目開發,好用。最近公司做erp,沒人管,我就選了個大家都說好的laravel,用laravel寫出來的代碼的確很優雅,還有很吸引我的是他的資料庫遷移功能,團隊協作開發時很方便。
說說缺點,路由功能雖然很強,但是有些繁瑣,不是很簡潔
效能肉眼看來並不是很好
讀了一次源碼,看到kenerl裡路由分發和中介軟體看段被一堆閉包搞暈了,所以內部實現感覺並不是很簡潔優雅
orm並不是很好用
文檔翻譯的不咋樣,原版寫的也不咋樣,學習成本挺高
  • 聯繫我們

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