MVC(Model-View-Controller,模型—視圖—控制器模式)用於表示一種軟件架構模式。它把軟件系統分為三個基本部分:模型(Model),視圖(View)和控制器(Controller)。
MVC 由 Trygve Reenskaug 提出,最早被應用在 SmallTalk-80 環境中。模型—視圖—控制器模式的目的是實現一種動態的程序設計,使後續對程序的修改和擴展簡化,並且使程序某一部分的重復利用成為可能。除此之外此模式通過對復雜度的簡化使程序結構更加直觀。軟件系統通過對自身基本部份分離的同時也賦予了各個基本部分應有的功能。專業人員可以通過自身的專長分組:
· 控制器 - 程序員編寫程序應有的功能(實現算法等等)
· 視圖 - 界面設計人員進行圖形界面設計
· 模型 - 數據庫專家進行數據管理和數據庫設計
模型(Model)“數據模型”(Model)用於封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。“模型”有對數據直接訪問的權利,例如對數據庫的訪問。“模型”不依賴“視圖”和“控制器”,也就是說,模型不關心它會被如何顯示或是如何被操作。但是模型中數據的變化一般會通過一種刷新機制被公布。為了實現這種機制,那些用於監視此模型的視圖必須事先在此模型上注冊,從而,視圖可以了解在數據模型上發生的改變。
視圖(View) 視圖層能夠實現數據有目的的顯示(理論上,這不是必需的)。在視圖中一般沒有程序上的邏輯。為了實現視圖上的刷新功能,視圖需要訪問它監視的數據模型(Model),因此應該事先在被它監視的數據那裡注冊。
控制器(Controller) 控制器起到不同層面間的組織作用,用於控制應用程序的流程。它處理事件並作出響應。“事件”包括用戶的行為和數據模型上的改變。
1. M就是數據庫 V相當於前台頁面 C相當於後台 只不過他們都相對獨立
PHP 一直缺乏一個良好的、功能完善的模型-視圖-控制器(Model-View-Controller,MVC)框架。MVC 框架允許程序員將其代碼組織為三個不同的功能區:
模型 包含與您的數據庫和其他數據結構相關的所有代碼。如果您具有一個名為 pages 的表,則您具有一個模型,其中具有用於從表中選擇、創建、更新和刪除記錄的函數。
視圖 包含所有顯示和 UI 元素 — JavaScript 代碼、Cascading Style Sheets (CSS)、HTML 甚至 PHP。
控制器 將一切聯系在一起。控制器中的每個函數表示一個目的地或路線。如果您具有一個名為 /about 的目的地,則控制器將具有一個名為 about() 的函數