摘要:本文主要談到了對PHP開發中MVC開發模式的理解。
當用戶通過url觸發命令時,例如url=http://control.blog.sina.com.cn/admin/article/article_add,這意味著進入bolg項目中的admin.php文件,調用框架文件如ThinkPHP框架,找到article.class.php文件,其中article為一個controller類,繼承於controller(TP3.2),article_add為方法,把用戶通過url傳過來的參數進行處理。這就是控制層!
當方法把穿過來的參數如db_blog,找到數據庫中的那堆叫blog的表。通過db_Username,找到blog中的Username表,這就是業務層。但在MVC中,常常把業務層和模型層相合並。
傳說中的模型層實際上就是對數據庫的增刪查改。
2014-02-25
PS:MVC,M指Model層,也就是模型層,最初的設計是程序需要操作的數據或信息,也就是將一些通用的涉及和數據庫相關的操作寫在model層裡面。比如將對數據庫的查詢寫在裡面。但是,並不一定要寫在裡面,在實際的開發中,為了方便,可以寫在control層,只要是能對數據庫有效的操作,效果是一樣的。這樣說,並不意味著model層是多余的,你可以將經常用到的操作封裝在裡面,比如,query查詢可以添加utf-8轉gbk操作,等等。
V指View視圖層。主要指我們送到Web浏覽器的最終結果——比如我們的腳本生成的HTML。當說到視圖時,很多人想到的是模版,所謂的模版就是別人做好的html頁面,你把模版套進我們的系統就可以了。一般只要往裡面添加標簽,控制層把變量丟到視圖層,其中的URL解析規格根據每個系統來設定。標簽就是把丟過來的變量解析出結果,然後顯示出來。
C指控制層controller.一個系統的主要業務邏輯就是在控制層裡面編寫。數據經過視圖層提交給控制層,控制層加工(包括處理或對數據庫的操作或與模型層的交互)後,可以把數據丟給視圖層顯示,或是更新數據庫。
一個簡單的例子參考:http://www.jb51.net/article/60796.htm
2016.5.21整理