今天我們來簡單介紹一下 Laravel 的 MVC 架構,也就是 Model(模型)、View(視圖)、Controller(控制器)之間的關係。
MVC 是一種常見的設計模式,讓應用程式的邏輯與使用者界面分離,從而達到更好的維護性。
:是資料的容器,處理資料庫互動,將從資料庫拿出來的資料放在這裡。
:是提供使用者看到的畫面。
:負責處理請求,並根據需求來決定使用哪個 Model 或 View。
例如:當我點開這個網站所呈現的首頁
這個動作的解析如下:
可以參考這篇文章:後端工程師的第一堂課 (19) : 現代系統架構 — MVC
有了基礎概念後可以延伸閱讀:菜鳥工程師紀錄工作所學-EP2.Laravel 進階 MVC 架構設計
昨天在設計 RESTful API 時,定義資源這個部份有說到:資源是系統中可以操作或查詢的資料,可以想像成系統的核心。
那這個核心資料,就是我們的 Model 。
所以,我的「線上產品瀏覽系統」的核心資料就是「產品」這個 Model。
操作「產品」的動作(Action)有:新增、查詢、修改、刪除
也就是使用 Http method,去對應到資料庫的 CRUD 操作。
那來試試看建立「產品」這個 Model 及其他相應檔案吧!
現在要建立的是一個叫做 Product 的 Model。
php artisan make:model Product -rmc
此指令會在 Laravel 專案中建立一個名為 Product 的 Model,並同時「載入預設CRUD方法」建立以下檔案:
因為載入預設CRUD方法,所以打開 ProductCotroller.php 可以看到已經有很多方法寫在裡面,對應到資料庫的 CRUD 操作。
明天可以來接著介紹 Migration 跟 Controller!