ThinkPHP是目前國內應用非常廣泛的一款MVC開發框架。本文就以實例形式解析ThinkPHP的MVC開發機制。相信會給大家一定的啟發作用。具體分析如下:
一、概述:
MVC框架解析如下:
M Model層 模型:就是數據庫操作類(通過數據庫操作類去操作各個表)
V View層 視圖:指模版。
C Control層 控制器:就是通過控制器來實現模版,模型之間的控制關系。
二、實例分析:
1.ACTION 控制器:
位置 D:\www\aoli\Home\Lib\Action\IndexAction.class.php
代碼如下:
public function test() //訪問路徑:http://localhost/aoli/index.php/Index/test { $Test=D('Test');//實例化Model //$list=$Test->select(); $list=$Test->query("select * from test" ); $this->assign('list',$list); $this->assign('title','彭艷傑'); $this->display(); } public function index() //index對應aoli\Tpl\default\Index下的index.html { $this->display(); }
2.MODEL 模型:
位置 D:\www\aoli\Home\Lib\Model\IndexModel.class.php
代碼如下:
<?php class TestModel extends Model{ //對應數據庫中的表test //可在此處添加操作數據庫表的類 } ?>
3.VIEW 視圖:
位置 D:\www\aoli\Home\Tpl\default\Index\test.html
代碼如下:
<p >{$title}</p> <div > <volist name="list" id="vo"> <p>{$vo.title} - {$vo.con}</p> </volist> </div>
感興趣的朋友可以調試運行一下本文所述實例以加深理解。希望本文所述對於大家學習ThinkPHP有所幫助。
在官網上有很多可以下載的。www.thinkphp.cn/case/index.html
MVC(Model-View-Controller)應用程序結構被用來分析分布式應用程序的特征。這種抽象結構能有助於將應用程序分割成若干邏輯部件,使程序設計變得更加容易。
MVC結構提供了一種按功能對各種對象進行分割的方法(這些對象是用來維護和表現數據的),其目的是為了將各對象間的耦合程度減至最小。MVC結構本來是為了將傳統的輸入(input)、處理(processing)、輸出(output)任務運用到圖形化用戶交互模型中而設計的。但是,將這些概念運用於基於Web的企業級多層應用領域也是很適合的。
在MVC結構中,模型(Model)代表應用程序的數據(data)和用於控制訪問和修改這些數據的業務規則(business rule)。通常模型被用來作為對現實世界中一個處理過程的軟件近似,當定義一個模型時,可以采用一般的簡單的建模技術。
當模型發生改變時,它會通知視(View),並且為視提供查詢模型相關狀態的能力。同時,它也為控制器(Controller)提供訪問封裝在模型內部的應用程序功能的能力。
一個視(View)用來組織模型的內容。它從模型那裡獲得數據並指定這些數據如何表現。當模型變化時,視負責維持數據表現的一致性。視同時將用戶要求告知控制器(Controller)。
控制器(Controller)定義了應用程序的行為;它負責對來自視的用戶要求進行解釋,並把這些要求映射成相應的行為,這些行為由模型負責實現。在獨立運行的GUI客戶端,用戶要求可能是一些鼠標單擊或是菜單選擇操作。在一個Web應用程序中,它們的表現形式可能是一些來自客戶端的GET或POST的HTTP請求。模型所實現的行為包括處理業務和修改模型的狀態。根據用戶要求和模型行為的結果,控制器選擇一個視作為對用戶請求的應答。通常一組相關功能集對應一個控制器。下圖描述了一個MVC應用程序中模型、視、控制器三部分的關系:
java 有STRUCTS,SPRING
參考資料:zhidao.baidu.com/question/304103632.html