在介紹 Laravel 的 MVC 模型之前,先簡單說明一下 MVC 的觀念,因為 Laravel 並不是一個符合真正 MVC 設計模式的框架。
MVC 是一種設計模式,是眾多設計模式中的一種。根據 Wiki 上的說明[1],正確的 MVC 實作是,View 和 Model 必須以觀察者模式實作,也就是當 Model 的資料有所改變時,會通知 View 來做出反應。而 Laravel 的模型中並沒有這麼做,所以它其實嚴格來說並不符合 MVC 設計模式,我們只能說它是借用將 Model(資料)、View(畫面)和 Controller(控制器)分離這個概念,來實作的網頁框架。如果有興趣,可以自行找資料做更深入的研究。
看這張圖就可以馬上了解 Laravel 的模型是如何傳遞訊息及資料。
只要懂了這四個主要機制是如何互相合作的,各自的任務是什麼,就能夠快速上手 Laravel 了。