本文目錄一覽:
什麼是MVC?PHP
MVC由Model(模型), view(視圖)和Controller(控制器)組成,PHP MVC可以更高效地管理好3個不同層的PHP代碼。
Model:數據信息存取層。
View:view層負責將應用的數據以特定的方式展現在界面上。
Controller:通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。
簡述MVC思想與PHP如何實現MVC
簡單的說就是將網站源碼分類、分層。
MVC三個字母的含義:
M:Model 模型,負責數據庫操作。
V:View 視圖,負責調用Model調取數據,再調用模板,展示出最終效果。
C:Controller 控制器,程序的入口,決定改調用哪個View,並告訴View該做什麼。
如此說來,程序的執行順序是C-V-M 或 C-M ,和MVC的名字正好相反。
php中MVC的開發模式如何去理解?
MVC設計模式把一個軟件組件區分為三個不同的部分,model,view,controller。
MVC模式是”Model-View-Controller”的縮寫,中文翻譯為”模式-視圖-控制器”。MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。MVC模式最早是smalltalk語言研究團提出的,應用於用戶交互應用程序中。smalltalk語言和java語言有很多相似性,都是面向對象語言,很自然的SUN在petstore(寵物店)事例應用程序中就推薦MVC模式作為開發Web應用的架構模式。MVC模式是一種架構模式,其實需要其他模式協作完成。在J2EE模式目錄中,通常採用service to worker模式實現,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式組成。而Struts只實現了MVC的View和Controller兩個部分,Model部分需要開發者自己來實現,Struts提供了抽象類Action使開發者能將Model應用於Struts框架中Model是代表組件狀態和低級行為的部分,它管理着自己的狀態並且處理所有對狀態的操作,model自己本身並不知道使用自己的view和controller是誰,系統維護着它和view之間的關係,當model發生了改變系統還負責通知相應的view。
View代表了管理model所含有的數據的一個視覺上的呈現。一個Model可以有一個以上的View,但是Swing中卻很少有這樣的情況。
Controller管理着model和用戶之間的交互的控制。它提供了一些方法去處理當model的狀態發生了變化時的情況。
PHP MVC的疑問
關於smarty的問題樓上解釋的都比較清楚了。
關於controller在MVC中發揮的作用以及它的工作流程,我想可以這麼簡單地去理解。
1.當你去商店購買東西時,你要對售貨員發出購買請求,比如一個最簡單的表單提交。這個請求通過view對應的action觸發,並且提交至controller接受該請求。
2.這個時候售貨員要根據你的購買請求在商店裡尋找你需要的貨物,這就是controller對你的請求進行邏輯分析和函數調用。
3.售貨員發現你要求的貨物商店沒有了,只能去倉庫去,倉庫好比數據庫。這時候也就是controller對數據庫表映射出來的對象進行操作,說明我要對數據庫哪個表進行操作,要操作的具體內容是什麼。比如在cakephp中,我要對user表進行查詢操作,那麼我就要在這個對應的函數中加入$this-User-find(‘all’); 表示我現在對users這個表進行查詢操作,返回所有值。至於為什麼User就是對應users表,這個在cakephp中有命名約定,你可以去了解一下。
4.所以說,controller的操作流程應該是 用戶發出請求-controller接受請求-處理請求-對M對象進行具體操作-返回操作值-返回到V層進行顯示。
5.純手工製造,有不懂的我盡量幫忙,加油^^
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/287357.html