首頁>技術>

在印度IT外包崛起的時候,他們的成功秘訣之一就是高度的工程素養,能夠寫出標準化的程式碼。本文我們來說一說Laravel框架最佳實踐的一些知識,如果大家都能遵循這些法則,那麼PHP程式設計師能夠更容易理解別人的程式碼。

單一職責原則(SRP)

一個類或者一個方法(method)應該有且只有一個職責(responsibility)。

錯誤示範:

最佳實踐:

大模型,小控制器

在MVC架構模式當中,提倡模型(Model)要大,而控制器(Controller)要儘量精簡。控制器當中,不可以有與資料庫相關的程式碼。

錯誤示範:

最佳實踐:

表單驗證

將表單驗證從控制器中移到Request類中去。

錯誤示範:

最佳實踐:

業務邏輯應該放在Service類

根據單一職責原則(SRP),控制器只能有一種職責,因此業務邏輯應該從控制器移到服務類當中。

錯誤示範:

最佳實踐:

不要重複自己原則(DRY)

系統中的每一個部分,都應該具有單一性、明確性和權威性。相同的一段程式碼,不可在系統中重複兩次(寫成一個函式)。此外,在Laravel框架下面,Blade等其它範疇的程式碼也都應該可複用。

錯誤示範:

最佳實踐:

優先Eloquent而不是Query Builder和原生SQL

優先Collection而不是陣列

錯誤示範:

最佳實踐:

批次賦值

錯誤示範:

最佳實踐:

Blade模板檔案不可以有查詢資料庫的程式碼

Blade模板檔案不能有JS和CSS,PHP類檔案也不能有HTML程式碼

程式碼中的字串寫到配置檔案/語言檔案/常量裡

使用Laravel社群接受的標準工具,而不是第三方

遵循Laravel的命名慣例

可能的話,使用更短、可讀性更強的語法

更多例項

使用IoC或者Facade,而不是new關鍵詞

Laravel的控制器等類都是在容器內建立的,容器透過反射機制給建構函式注入需要的依賴。

使用config()而不是env()

本文翻譯自:https://tony-stark.medium.com/larave-best-practices-for-developers-2021-19cf662f7de8

14
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 基於ES6+webpack的工程化、元件化web前端開發