久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

HDWiki/MVC中的控制器

來自站長百科
跳轉(zhuǎn)至: 導航、? 搜索

HDWiki | HDWiki使用 | HDWiki插件

概述[ ]

MVC中的控制器control主要負責業(yè)務邏輯部分,所有的功能邏輯全部在此實現(xiàn),控制器對整個功能負責,它調(diào)用模型(model)的方法實現(xiàn)它需要的功能,調(diào)用視圖(view)的方法來顯示數(shù)據(jù).

控制器(control)文件存放于 control/文件夾中,命名基本以功能為主,例如doc.php表示就是詞條相關的控制器,user.php就是用戶相關的控制

結構[ ]

示例代碼如下:

!defined('IN_HDwiki') && exit('Access Denied');

class control extends base{

function control(& $get,& $post){
    $this->base( & $get,& $post);
    $this->load('user');
}

function dodefault{
    $user=$_ENV['user']->get_user($uid);
    $this->view->assign('user',$user); 
    $this->view->display('space');


}

?>

相關解釋[ ]

1、!defined('IN_HDwiki') && exit('Access Denied'); 每個control文件都是以此開頭表示必須是HDwiki內(nèi)部調(diào)用

2、class control extends base 每個控制器類的名稱均是control 且均是base類的子類

3、每個控制器類必須有構造函數(shù),function control 做初始化數(shù)據(jù) ,其中:

  • $this->base( & $get,& $post); 調(diào)用父類的構造函數(shù)初始化用戶,模板,風格,語言,等等數(shù)據(jù),每個control類都需要這樣調(diào)用
  • $this->load('user');調(diào)用父類的load方法載入 user模型(model),其文件為/model/user.class.php,載入相關的模型(model)可以根據(jù)需要選擇調(diào)用

4、function dodefault 方法就是我們要處理具體的業(yè)務邏輯的函數(shù)了,通常會有一個dodefault方法,這是個默認方法,當沒有指定相關的業(yè)務邏輯的方法名稱的時候會調(diào)用這個方法,若指點了方法則調(diào)用指定的方法,例如從url的形式 index.php?user-space.html來看調(diào)用user的control文件control/user.php 并且執(zhí)行space的業(yè)務邏輯,將調(diào)用 dospace方法 (所有業(yè)務邏輯名稱加do便是業(yè)務邏輯要執(zhí)行的方法)

5、$user=$_ENV['user']->get_user($uid); 代表執(zhí)行上面載入的user模型的get_user方法,

6、$this->view->assign('user',$user);調(diào)用視圖類將$user變量發(fā)送到頁面上去, $this->view->display('space');調(diào)用視圖類調(diào)用/view/default/space.htm 頁面并在瀏覽器中將頁面解析顯示出來

開發(fā)[ ]

若要在某個control怎家新的業(yè)務邏輯,以上面結構為例,只需要在control增加新的方法即可,以增加個總用戶個數(shù)為例,調(diào)用index.php?user-members即可看到用戶總數(shù)的頁面

我們需要在function dodefault(){}這個方法后面添加一個 function domembers(){}的方法

這個方法中執(zhí)行得到用戶總數(shù)的業(yè)務邏輯,需要調(diào)用 user模型(model user.class.php)的get_count方法得到總數(shù),并將總數(shù)發(fā)送的頁面中,并調(diào)用members.htm這個文件顯示出來,那么這個方法可以這樣寫

function domembers(){

    $members=$_ENV['user']->get_count();//此方法若model方法中沒有,需要在model(user.class.php)中添加,詳細請參考MVC中的模型(Model) 此方法可得到總人數(shù);

    $this->view->assign('count',$members);//調(diào)用視圖將總人數(shù)復制給頁面上的count變量,頁面上可以用count表示總人數(shù)

    $this->view->display('members')//調(diào)用視圖顯示/view/default/members.htm視圖文件 詳細請參看MVC中的視圖(View)


}

這樣添加一個新的業(yè)務邏輯就完成了

參考來源[ ]

http://kaiyuan.hudong.com/

HDWIKI使用手冊導航

HDWIKI安裝

安裝教程

HDWiki使用

前臺使用說明 | 用戶管理 | 模板管理 | 插件管理 | 數(shù)據(jù)庫管理 | 站內(nèi)統(tǒng)計 | Map功能 | 基本設置 | 站點設置 | 擴展設置 | 內(nèi)容設置 | 友情鏈接及廣告管理 | 分類管理 | 詞條管理 | 數(shù)據(jù)調(diào)用 | 其他內(nèi)容管理 | 禮品商店 | 圖片及木馬掃描 | Apache偽靜態(tài) | IIS偽靜態(tài) | Nginx偽靜態(tài) | 通用樣式解讀 | 樣式使用規(guī)則 | 數(shù)據(jù)庫結構說明 | 模板說明 | 函數(shù)類參考 |軟件包結構 | HDWiki運行機制和原理 |編碼規(guī)范 |MVC中的控制器 | 框架簡介 | 高級應用 | MVC中的視圖 | MVC中的模型 | HDWiki與PHPCMS整合 | HDWiki與PHPWind整合 | HDWiki與DEDECMS整合 | HDWiki與UCenter整合 | 可視化編輯使用說明 | 模塊區(qū)版塊制作教程 | 模版共享

HDWiki插件

插件開發(fā)指南 | 許愿墻插件開發(fā)實例 | 模版與標簽 | 宣傳中心 | 友情鏈接申請 | 數(shù)據(jù)調(diào)用 | 互動摸摸