DedeCMSV5.7模塊MVC框架分析

本文較為詳細的分析了DedeCMSV5.7模塊MVC框架結(jié)構(gòu)。分享給大家供大家參考。具體分析如下:
織夢MVC開發(fā)框架是一個精簡、迷你的web開發(fā)框架,用這個開發(fā)框架可以編寫基于織夢內(nèi)容管理系統(tǒng)的擴展功能、模塊(插 件),甚至可以將其分離出來開發(fā)博客、BBS、SNS等.
目錄結(jié)構(gòu)說明:
|___control 控 制器(C)
|___model 模型(M)
|___templates 視圖模板(V)
|___libraries 類 庫
|___data 配置
|___data\helper 小助手
|___static 樣式,js,圖片文件夾
|___index.php 統(tǒng)一入口文件
統(tǒng)一入口解析地址:http://你的 網(wǎng)址/app/index.php?ct=index&ac=savect=index:控制器入口,對應到目錄control中的 index.php
如果RunApp()指定了第三個參數(shù),例如問答中RunApp($ct, $ac , 'admin'),說明ct=index:控制器入口,對應到目錄control/admin中的index.php
ac=save:操作,對應 文件index.php中的class index中function ac_save()
控制器中將相關(guān)功能操作都存放至一個文件中,例如留言 板,可以使用:
?ct=guestbook&ac={do}統(tǒng)一完成,這樣也便于靜態(tài)化部署.
1.控制器開發(fā)說明 (control):
基本代碼結(jié)構(gòu):
{
public function ac_save()
{
}
}
控制器可以選擇繼承一 個基類:Control,這個類對應的文件名是/include/control.class.php,這里面含有基類的相關(guān)操作說明,這里有幾個常用方 法:
$control->Model();
載入一個模型。例如問答模塊中index.php中的 $this->question = $this->Model('mquestion'),就是在載入了mquestion這個模型。然后我們就可以通 過$this->question來調(diào)用模型相應操作。實現(xiàn)數(shù)據(jù)的插入,更新等等操作。調(diào)用類的名字可以隨便定義,但要保證沒有沖突。模型的文件放 在model目錄中。
$control->Libraries();
載入一個類。有時開發(fā)我們需要一個系統(tǒng) 中不存在的類時,我們可以通過這個方法來載入一個自己的類。具體的方法和模型一樣。類放在libraries目錄中。
$control->helper();
載入一個小助手,引入小助手是為了更好的幫助我們存放和管理需要用到的Function,具體的方法和模型一樣,小助手放在 data\helper目錄中.
$control->SetTemplet(); // 設(shè)定當前操作需要指定的模板;
//phpfensi.com
$control->SetVar($k, $v); // 設(shè)定模板需要解析的變量,在模板中使用{dede:var.name /}進行調(diào)用.
GLOBALS['k'] = $k;
設(shè)定模板需要的變量,在模板中可以直接用方式輸出,問答模塊基本上都是采用這樣的方式輸出,這種方式比較適合處理一些復雜的數(shù)據(jù),例如數(shù)組.
$control->Display(); // 顯示模板解析后的內(nèi)容
$control->SaveTo(); // 將內(nèi)容保存到文件
控制器中關(guān)于模板的使用操作可以參看DedeTemplate模板引擎,具體可以參看公司內(nèi)部開發(fā)文檔中模板說明相關(guān) 章節(jié).
模型開發(fā)說明(Model):
{
public function get_one()
{
}
}
控制器可以選擇繼承一個基類:Model,這個類對應的文件名是/include/model.class.php,這里面 含有數(shù)據(jù)庫類的相關(guān)操作說明,這里只有一個方法:
$model->dsql();
實例化數(shù)據(jù)庫操作類,模型中關(guān)于數(shù)據(jù)庫類的使用操作可以參看數(shù)據(jù)庫類使用說明
模板標簽調(diào)用說明:
如果在控制器中通過$control->SetVar($k, $v); 這種方式設(shè)定的參數(shù),我們通過標簽 {dede:var.name /}的方式進行調(diào)用.
如果在控制器中通過GLOBALS['k'] = $k;這種方式設(shè)定的參數(shù),我們通過標簽 {dede:global.name/}的方式進行調(diào)用或者直接采用php的方式進行輸出.
希望本文所述對大家的dedecms二次開發(fā)有所幫助。
相關(guān)文章
- 關(guān)鍵字描述:說明書 功能 后臺 管理 刪除 更新 文檔 內(nèi)容 設(shè)置 模塊 后臺是整個網(wǎng)站的管理工具。其功能包括:頻道管理、內(nèi)容發(fā)布、內(nèi)容維護、HTML更新、核心模塊、擴展2009-06-06
- 如果修改織夢后臺廣告設(shè)置,前臺未能顯示最新修改的同學可以參考一下方法進行解決2011-11-15
dedecms 軟件下載模塊加入flashget快車下載代碼
dedecms 軟件模塊加入快車下載的方法,需要的朋友可以參考下。2010-01-25- DEDECMS默認沒有啟用留言板的功能,所以要我們自己添加。不論是普通的企業(yè)站還是門戶型的CMS,只要是需求明顯的網(wǎng)站都應該要有留言板的互動模塊2013-01-22
- DedeCMS投票模塊有朋友反映投票主題的選項經(jīng)常被sql注入刪除,經(jīng)過腳本之家小編查看代碼發(fā)現(xiàn)投票模塊代碼沒有對sql參數(shù)進行轉(zhuǎn)換,導致不法分子sql注入。只要將addslashes()2013-07-08
- DedeCMS投票模塊投票主題的選項經(jīng)常被sql注入刪除,發(fā)現(xiàn)投票模塊代碼沒有對sql參數(shù)進行轉(zhuǎn)換,導致不法分子sql注入2013-12-12
- 關(guān)鍵字描述:教程 模板 < 模版 代碼 標記 &mdash 制作 field:title/ DedeCms真是一個非常棒的系統(tǒng),我從接觸到現(xiàn)在一年時間再也沒有理會其他CMS系統(tǒng),推薦剛開始建站2009-06-06
- 一個DEDECMS的注冊模板及登陸模板,歡迎使用!2008-11-16
- 我們在使用織夢DEDECMS建站過程中,為了使調(diào)用的文章標題簡短且相對完整(原文標題太長),只好使用了調(diào)用簡略標題這個方法,使標題顯示為簡短標題,指向標題時顯示完整的2011-12-26
- 關(guān)鍵字描述:數(shù)據(jù)庫   varchar int smallint 編號 欄目 文章 ID 這是一個DEDECMS數(shù)據(jù)庫字典,有關(guān)dedecms的表、字段等說明,希望大家繼續(xù)支持俠客站長站(xkzzz.com2009-06-06