首頁>Club>
24
回覆列表
  • 1 # 暗黑程式設計師

    Laravel框架號稱是php所有框架中最優雅的一個,-- 但也是最重的一個。

    我們都知道php這門語言一直是被誤解的一門語言,其他如C++和Java這些程式設計師看到php程式設計師談論程式設計,都會忍不住嗤之以鼻 —— 這也叫語言?

    php這門語言把web開發效率做到了極致,所有的特性都是為了最方便快速的開發web,沒有強型別,沒有多執行緒,不需要手動回收記憶體,程式執行完了直接釋放所有程序資源,有犧牲,必有所得,在當年的web開發領域,絕對是獨樹一幟。

    隨著php引入了類,引入了trait,然後把Java那一套設計模式也搬過來了,php7又引入了強型別,現在的php框架已經很難看到當年函數語言程式設計的身影,變得臃腫和複雜。

    如果php沒有opcache快取,以Laravel的體量,輸出helloworld,都要耗時1秒鐘,居然以犧牲時間,換取更快的、更優雅的程式設計體驗,我個人覺得是一種墮落,這是遲早被淘汰的。

    大環境從來就不認可php作為一門登堂入室的、可多領域發展的程式語言來看待,隨著go語言的興起和微服務的流行,php還抱著優雅程式設計的心態,在作死的路上越走越遠。

    比較可惜是,swoole擴充套件沒能在go語言興起之前火起來,而且也不太可能比go火的更早,swoole本身就在借鑑go的協程。

    如果真的想在php領域有所發展,還是推薦多使用swoole,或者是php+go組合學習使用,php做管理後臺,go做api高併發介面。

    Laravel這框架真的不推薦再看了,你們覺得呢?

  • 2 # Magento電商技術

    php適合輕量化架構 laravel帶著一眾框架 誓要把php的優點幹掉 把缺點發揮到極致 現在正在選型 首先考慮ci和slim

  • 3 # 傾刻1

    樓主的觀點很贊同。但laravel也沒那麼不堪,helloworld要一秒有點誇張,laravel可以用在一些對效能需求較弱的場景,比如管理後臺。未來swoole+phpJIT可以兼顧高效開發和高效能,對小企業來說還是很有使用價值的,因此php並不會被很快淘汰

  • 4 # 淡漠的茶

    如果從軟體工程的層面看,函式式語言自1973年至今只發展出一個組合模式,再看面向物件呢,已經脫離語言層面發展出TDD, DDD, BDD等設計方法論。

    如果沒有微服務,沒有DDD,go這種純函式式語言是不會被任何大型web應用所採用(因為你對比的是PHP,所以只考察WEB應用),因為函式式只適合最細的那種粒度,它會在粗粒度複雜業務需求下翻車,必然!

    一個旁證是javascript,這是看起來比go還純粹的函式式語言,但事實是js程式設計師薪資長期高企,通常認為35k以下在北京這樣的城市你招聘不到一個合格的高階js程式設計師。本質原因是js工程化薄弱,在現今前端越來越重的情況下,設計 開發 溝通 迭代 重構 交接成本高於一切工程化表現強勁的語言。雖然可以使用原型鏈以及閉包 匿名函式等模擬面向物件,但訓練成本太高。

    js這種情況直到ts的出現才改變,天下人苦久已,大家對ts的熱情直接讓ts這種外掛衝到程式設計排行榜的前十。js程式設計師薪資也在下降

    再回頭看go,現在招聘一個go高程薪資往往超過一個java技術架構,而且兩者技術儲備根本不在一個層面上。

    而且越是工程化表現高的越可以結對程式設計,一個高程就能拖多個觸級。

    框架同樣時軟體工程的一種體現,不是所有公司都有條件從0開始的,所以一個易用,節約開發成本的框架就很有必要

  • 5 # stbiid

    這兩年一直用golang

    前幾年php框架基本都是用phalcon ,小專案用z-php 一個靜態類的框架

  • 6 # 做軟體的禪師

    在我看來,Laravel 是PHP裡最具設計哲學和藝術的。

    github stars毫無懸念的第一,如果說PHP煥發第一春的大功臣是wordpress,那麼讓PHP煥發第二春的大功臣,就是 Composer 和 Laravel。

    還有多數站長都知道的discuz,目前新推出的discuzQ,也是基於Laravel之上做的,。

    Laravel 的藝術感充分體現在命名,程式碼寫法上。讓人寫程式碼感覺很舒服,處處充滿美感。本來PHP是楚楚Baby,Laravel 粉飾一下,就變成Angela Baby了。

    Laravel 是最佳實踐集大成者,發揮Composer的潛力,在Symfony 上蓋高樓,沒有好的ORM,自己就搞個 Elequent,測試整合 phpunit,Dust(webdriver)。讓開發環境統一的homestead,快速部署的Envoyer,全文檢索的Scout,命令列互動除錯的Tinker,除錯跟蹤的 Telescope,實時訊息的Echo,開箱即用,不美嗎

    而且你這結論單純從效能上推斷不太合理吧,從效能上說,Laravel 官網有很多的 Ecosystem,你可以使出最大能力去併發訪問,實際看看網站效能如何。很多專案還達不到人家的流量吧,單 Spark 一年就給作者創造幾百萬美元的收入。

    如果真的到了效能瓶頸,業務邏輯就可以最佳化大部分,還可以再可以用peachpie(.Net效能)或swoole(Laravel-S),相信PHP8的JIT也會有不錯的表現。

    真到了這個階段,就是有規模有錢了,可以任性,用啥都有理了。多數對效能的憂慮都是杞人憂天,可以最佳化的地方太多了。

    如果你的網站日流量連百萬都沒過,就啥都不用考慮。可笑很多人的評判感覺自己流量過億了似的,先把自己產品做起來。

    要說參考ruby rails不否認,要說模仿java的,不瞭解就閉嘴,面向物件不是java才有。要說模仿java,你在spring boot或其他家族先找出以下對等的東西:

    tinker:命令列互動式除錯。

    homestead:vagrant的整合環境。

    基於composer package,天然的service provider包的機制,可以自由組合專案,作為外掛管理(看我的zencodex/package-make)。

    你不用php或laravel那是你的權利, 只要能給社會帶來價值的,都值得我們去尊重,多用作品說話比啥都強,從這點是來講,我一直是自愧不如,心生敬畏。

  • 中秋節和大豐收的關聯?
  • 知道範丞丞嗎?喜歡他嗎?