Day 05 | 首都客運時刻表查詢網
![Day 05](https://i.imgur.com/2oxSoeJ.png)
在用Laravel實作RESTfulAPI之前,稍微來介紹一下MVC架構,而Laravel就是典型...範例就是一個簡單例子);需管理的檔案可能隨著框架的規模而變得較多,除了MVC之 ...
![Day 05](https://i.imgur.com/2oxSoeJ.png)
在用 Laravel 實作 RESTful API 之前,稍微來介紹一下 MVC 架構,而 Laravel 就是典型符合 MVC 架構模式的框架。
定義:MVC 是一種非常普遍的架構模式,而 MVC 代表著以下意義:
M : Model V : View C : Controller
Model 負責對資料部份做處理,舉凡增刪改查等,Model 會直接跟資料做溝通,而且其作業不會受到 View 或 Controller 的影響,意即 Model 不會去管資料怎麼被呈現或者如何被操作,只在乎資料的邏輯如何被設計。而 Model 不僅僅侷限於資料庫,也可能是指一些簡單的資料結構,如:變數、陣列...等。
View 管理資料的呈現方式,如:圖表、表格、圓餅圖...等,不過 View 所呈現的畫面不一定會與資料直接相關,也有可能在網頁當中只是一個簡單的 Component ( 如:header、navbar ...等 ),不會隨著 Model 的資料變化而改變。
Controller 作為不同層面之間的溝通橋樑,也是程式邏輯的核心,例如:透過 Controller 接收使用者輸入的資料,然後 Controller 將這些 input 傳給 Model 做處理,Model 處理完之後就會傳遞給 View 作畫面的呈現,又或者 Controller 也會直接介入 View 的邏輯。
以下是 MVC 架構常見的邏輯圖之ㄧ:
實例:
藉由 MVC 架構將程式邏輯分開來,避免資料處理、前端介面,與程式邏輯混在一起的情形,舉一個非常簡單的例子 ...