沉浸在 Laravel 四年多之後,我已經非常熟悉 MVC(模型-視圖-控制器)架構。它的簡單性和結構使其使用起來很愉快,Laravel 精心組織的資料夾可幫助開發人員保持正軌。您始終知道將程式碼放在哪裡,並且廣泛的內建工具(資料庫連接、Redis、佇列、遷移、ORM 等)使設定變得無縫。只需對您的環境進行一些調整,您的應用程式就可以運行了。
對我來說,Laravel 的 MVC 方法仍然是最強大的方法之一。 模型 定義您的數據,視圖 確定使用者看到的內容,控制器 管理您的業務邏輯。它簡單而結構化,Laravel 預設提供此設置,使其成為一個出色的開發框架。
但是隨著我職業生涯的進步以及我跨行業和企業的工作,我意識到 Laravel 的 MVC 方法並不總是足夠的,特別是對於複雜的應用程式。
MVC 在簡單的應用程式中表現出色,但當邏輯變得更加複雜時可能會出現不足。例如,當使用 Laravel 作為 API 時,View 層經常未被使用。同時,將所有邏輯放入控制器中很快就會導致文件臃腫且難以維護。
為了解決這個問題,我透過引入 Service 和 Repository 層來擴充 Laravel 的 MVC 結構,建立如下所示的流程:
控制器 → 服務 → 儲存庫 → 模型
這種分層方法使程式碼更易於維護和擴展。隨著時間的推移,我已經習慣了這種結構,因此在其他專案中採用它感覺很自然。
當我開始使用 Go(Golang)時,感覺就像踏入了未知的領域。 Go 與 PHP 有很大不同,缺乏固有的資料夾結構。它也不是物件導向的語言,所以我不能簡單地複製我從 Laravel 中學到的東西。
經過一番嘗試和錯誤,我決定堅持使用我熟悉的內容:CSRM 概念(控制器、服務、儲存庫、模型)。我將這種結構改編為 Go,儘管它需要一些創造性思維。此外,我還探索了可以簡化開發的框架。我嘗試了 Gin 和 Fiber,最後選擇 Fiber 是因為它的速度、現代功能和活躍的社群。
使用 Go 和 Fiber 工作兩年多後,我決定創建一個樣板來簡化 API 開發。這不僅適合我——我也想幫助其他人快速建立他們的專案。
結果:Fiber API 樣板。
此樣板檔案專門用於 API,因此它不包含視圖渲染或模板引擎等功能。文件夾結構的靈感來自:
我也藉鏡了Laravel的許多思想,像是ORM、資料庫連線、Redis、佇列和身分驗證。雖然它不如 Laravel 那麼全面,但對於建構通用 API 來說已經足夠了。
以下是樣板目前提供的內容:
儲存庫還包括範例程式碼和詳細的自述文件,以引導您完成每個資料夾和功能。
雖然樣板已經可以使用,但我計劃透過添加遷移、事件偵聽器和命令等工具來進一步擴展它。這是一個不斷發展的項目,旨在與用戶一起成長。
歡迎您探索和使用樣板檔案。您可以隨意自訂它——添加您喜歡的工具或刪除您不需要的工具。如果您有建議或功能請求,請建立問題或提交拉取請求。
查看 Fiber API 樣板 並試試看。我希望它能像我一樣幫助簡化您的 Go API 開發之旅。讓我們一起創造一些令人驚奇的東西!
以上是Laravel to Go:我的旅程和 Fiber API 樣板的創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!