DedeCMS V5.7模塊MVC框架基本說明
時(shí)間: 2018-12-07 08:36
閱讀: 次
作者:素材無憂網(wǎng)
織夢(mèng)MVC開發(fā)框架是一個(gè)精簡(jiǎn)、迷你的web開發(fā)框架,用這個(gè)開發(fā)框架可以編寫基于織夢(mèng)內(nèi)容管理系統(tǒng)的擴(kuò)展功能、模塊(插件),甚至可以將其分離出來開發(fā)博客、BBS、SNS等。
目錄結(jié)構(gòu)說明:
|_app
|___control 控制器(C)
|___model 模型(M)
|___templates 視圖模板(V)
|___libraries 類庫(kù)
|___data 配置
|___data\helper 小助手
|___static 樣式,js,圖片文件夾
|___index.php 統(tǒng)一入口文件
統(tǒng)一入口解析地址
http://你的網(wǎng)址/app/index.php?ct=index&ac=save
ct=index:控制器入口,對(duì)應(yīng)到目錄control中的index.php
如果RunApp()指定了第三個(gè)參數(shù),例如問答中RunApp($ct, $ac , 'admin'),說明ct=index:控制器入口,對(duì)應(yīng)到目錄control/admin中的index.php
ac=save:操作,對(duì)應(yīng)文件index.php中的class index中function ac_save()
控制器中將相關(guān)功能操作都存放至一個(gè)文件中,例如留言板,可以使用:
?ct=guestbook&ac={do}統(tǒng)一完成,這樣也便于靜態(tài)化部署.
1.控制器開發(fā)說明(control):
基本代碼結(jié)構(gòu):
class yourctname extends Control
{
public function ac_save()
{
}
}
控制器可以選擇繼承一個(gè)基類:Control,這個(gè)類對(duì)應(yīng)的文件名是/include/control.class.php,這里面含有基類的相關(guān)操作說明,這里有幾個(gè)常用方法:
$control->Model();
//載入一個(gè)模型。例如問答模塊中index.php中的 $this->question = $this->Model('mquestion'),就是在載入了mquestion這個(gè)模型。然后我們就可以通過$this->question來調(diào)用模型相應(yīng)操作。實(shí)現(xiàn)數(shù)據(jù)的插入,更新等等操作。調(diào)用類的名字可以隨便定義,但要保證沒有沖突。模型的文件放在model目錄中。
$control->Libraries();
//載入一個(gè)類。有時(shí)開發(fā)我們需要一個(gè)系統(tǒng)中不存在的類時(shí),我們可以通過這個(gè)方法來載入一個(gè)自己的類。具體的方法和模型一樣。類放在libraries目錄中。
$control->helper();
//載入一個(gè)小助手。引入小助手是為了更好的幫助我們存放和管理需要用到的Function。
具體的方法和模型一樣。小助手放在data\helper目錄中。
$control->SetTemplate();
$control->SetTemplet(); // 設(shè)定當(dāng)前操作需要指定的模板;
$control->SetVar($k, $v); // 設(shè)定模板需要解析的變量,在模板中使用{dede:var.name /}進(jìn)行調(diào)用.
GLOBALS['k'] = $k;
// 設(shè)定模板需要的變量,在模板中可以直接用<?php echo $k;?>方式輸出(問答模塊基本上都是采用這樣的方式輸出),這種方式比較適合處理一些復(fù)雜的數(shù)據(jù),例如數(shù)組。
$control->GetVar($k); // 獲取設(shè)定的模板變量
$control->Display(); // 顯示模板解析后的內(nèi)容
$control->SaveTo(); // 將內(nèi)容保存到文件
控制器中關(guān)于模板的使用操作可以參看DedeTemplate模板引擎,具體可以參看公司內(nèi)部開發(fā)文檔中模板說明相關(guān)章節(jié).
模型開發(fā)說明(Model):
class mtype extends Model
{
public function get_one()
{
}
}
控制器可以選擇繼承一個(gè)基類:Model,這個(gè)類對(duì)應(yīng)的文件名是/include/model.class.php,這里面含有數(shù)據(jù)庫(kù)類的相關(guān)操作說明,這里只有一個(gè)方法:
$model->dsql();
//實(shí)例化數(shù)據(jù)庫(kù)操作類。模型中關(guān)于數(shù)據(jù)庫(kù)類的使用操作可以參看數(shù)據(jù)庫(kù)類使用說明()
模板標(biāo)簽調(diào)用說明:
如果在控制器中通過$control->SetVar($k, $v); 這種方式設(shè)定的參數(shù),我們通過標(biāo)簽 {dede:var.name /}的方式進(jìn)行調(diào)用。
如果在控制器中通過GLOBALS['k'] = $k;這種方式設(shè)定的參數(shù),我們通過標(biāo)簽 {dede:global.name/}的方式進(jìn)行調(diào)用或者直接采用php的方式進(jìn)行輸出。
更多的關(guān)于模板標(biāo)簽的使用可以到 上進(jìn)行查詢
版權(quán)聲明:
本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明:
DedeCMS V5.7模塊MVC框架基本說明
標(biāo)簽: