本系列文章已集結成冊與鐵人賽文章差異內容,有以下幾點:
更新至Laravel 8、基礎的PHP重點筆記、加強製作API流程細節、加入程式設計模式,優化、重構程式碼的部分,並且於書籍前面的章節介紹Git。
讓您從製作第一個簡單的API到優化自己的程式碼,分享我的經驗給您,打造自己的最強大腦API,若有興趣的朋友可以參考看看
此篇文章同步發於個人部落格
我自己的經驗呢!是把原生的PHP轉換成Laravel框架,那個時候最主要希望可以好維護,但是把權限啦~商業邏輯啦~全部都會寫在Controller 最後你就會發現
Controller 越來越大
如果又不是前後端分離的方式拆開的話,Controller
會非常非常亂。
之前就開始想辦法前後端拆開,所以開始研究RESTful API 的設計方式
至少有相對應的地方可以放置API
如果公司有前端的工程師就可以想怎麼改就怎麼改前端畫面,讀的到資料就好,也不會有重複撰寫相同性質的程式碼。
好了!Controller 很肥怎麼辦。這要怎麼辦呢?! 使用 Service
拆分部分程式碼
以下幾點都可以考慮把程式碼搬到 Service 檔案中
降低 Controller 程式碼的臃腫。
最主要的兩個原則外部服務
、商業邏輯
,把他拆成 Service
明天開始依照這兩個原則把程式碼移出Controller吧!
還有人會再繼續細分再拆開來! 有專門寫查詢資料庫邏輯的地方 Repository
模式,減少 Model
的肥大,還有可以輔助 View 的部分 Presenter
模式,但可能小弟我碰到的系統還沒有到如此龐大的地步,感覺拆開來只是非常多檔案,檔案數量很大!
這是目前的看法,日後如果有更深一層的體悟!有機會再跟大家分享~
接下來先來安裝測試套件,明天先寫一點點測試
https://marketplace.visualstudio.com/items?itemName=recca0120.vscode-phpunit
這是台灣一位大大,Recca Tsai大大製作的套件!可以在VSCode 圖形化的介面執行測試
在VSCode套件搜尋框查詢 「phpunit」找到下方圖示顯示之套件並安裝
重新啟動 VSCode 可以在左側工具列看到像實驗室三角燒杯的圖示
點開來以後如上圖右方紅色框框,Laravel 已經有預設的測試程式(這時候記得伺服器是要有運行的狀態喔!),點選上方的三角形開始鍵!開始跑測試,測試通過就會像上圖一樣顯示綠色勾勾
有圖形介面!看起來真有成就感!好多綠勾勾
明天先來撰寫 測試程式吧!