發(fā)表日期:2017-12 文章編輯:小燈 瀏覽次數(shù):3843
Dedecms模塊開(kāi)發(fā)教程,繼續(xù)上一篇博客的內(nèi)容
學(xué)習(xí)本篇內(nèi)容,需要對(duì)MVC有一點(diǎn)點(diǎn)的基礎(chǔ):M負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互;C是夾在M與V之間,它把從M傳送過(guò)來(lái)的數(shù)據(jù)顯示到V上,反過(guò)來(lái),也會(huì)把用戶(hù)在V層的操作修改,通過(guò)M完成對(duì)數(shù)據(jù)庫(kù)的增刪改查。一個(gè)model對(duì)應(yīng)一張表,一個(gè)control對(duì)應(yīng)一個(gè)頁(yè)面。
第四步:創(chuàng)建一個(gè)控制器 index.php(僅做測(cè)試)
這一步先做個(gè)測(cè)試,當(dāng)然實(shí)際應(yīng)用當(dāng)然也是這么做的,只是我們這里沒(méi)有用到 model層和view層(第五步我們會(huì)使用上)。所以,這一步的目的只是讓大家對(duì)dedecms mvc的控制器有所理解。
在 control 目錄下創(chuàng)建一個(gè)名為 index.php的控制器文件,其代碼為:
<?php//注意,所有的控制器類(lèi)都要繼承Model類(lèi)class index extends Control{function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前綴 ac_ ,這是必須這么做的echo "這里是dedecms 模塊開(kāi)發(fā)教程";}}?> |
ok,到這里,一個(gè)最簡(jiǎn)單的模塊就能使用了。當(dāng)然,它并沒(méi)有什么作用,我們來(lái)訪問(wèn)看看:
打開(kāi)網(wǎng)址:http://localhost/emp/ 或 http://localhost/emp/index.php?ct=index&ac=index,如果能輸出"這里是dedecms模塊開(kāi)發(fā)教程",則說(shuō)明一切正常,我這里完全沒(méi)有問(wèn)題。
下面正式進(jìn)入實(shí)際的應(yīng)用,包括從數(shù)據(jù)庫(kù)讀取內(nèi)容,然后顯示到view層上
第五步:把控制器修改一個(gè),我們要通過(guò)該入口頁(yè)面來(lái)訪問(wèn)其它的頁(yè)面,所以添加一個(gè)鏈接(最終要實(shí)現(xiàn)的功能是,對(duì)數(shù)據(jù)庫(kù)中的表進(jìn)行增刪改查),這里只以讀取數(shù)據(jù)為例:
<?php//注意,所有的控制器類(lèi)都要繼承Model類(lèi)class index extends Control{function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前綴 ac_ ,這是必須這么做的echo "這里是 dedecms 模塊開(kāi)發(fā)教程<br />";echo "<a href='index.php?ct=browser'>列出文章</a>";}}?> |
第六步:創(chuàng)建一個(gè)瀏覽文章列表的control控制器類(lèi)文件browser.php
<?phpclass browser extends Control{//需要特別說(shuō)明,在dede的MVC中的控制器方法,需要以ac_開(kāi)頭function ac_index(){/*** 調(diào)用Model的方法,固定的調(diào)用形式,讀取數(shù)據(jù)庫(kù)內(nèi)容* $this->Model('model名稱(chēng)')->方法();**/$res = $this->Model('emp')->listart();//返回結(jié)果賦給一個(gè)全局?jǐn)?shù)組,這樣,模板文件便可讀取$GLOBALS['res'] = $res;//指定模板并顯示出來(lái)$this->SetTemplate('mytemp.html');//指定模板(不需要指定路徑,默認(rèn)在/模塊名/templates/default/下)$this->Display();//顯示}}?> |
第七步:創(chuàng)建一個(gè)model類(lèi)文件emp.php(這應(yīng)該是第六步)
<?php//一個(gè)model操作一張表。通過(guò)不同的方法,來(lái)對(duì)表進(jìn)行增刪改查class emp extends Model{function listart(){$query = "select id,tilte,pubdate from dede_archives limit 0,10";$this->dsql->Execute('me', $query);//參考dedecms的數(shù)據(jù)庫(kù)類(lèi)$rows = array();while($row = $this->dsql->getarray()){$rows[] = $row;} return $rows;}}?> |
第八步:在 /模塊名/templates/default/ 目錄下,創(chuàng)建模板文件mytemp.html
日期:2018-10 瀏覽次數(shù):3750
日期:2018-10 瀏覽次數(shù):3498
日期:2018-08 瀏覽次數(shù):3582
日期:2018-06 瀏覽次數(shù):3334
日期:2018-06 瀏覽次數(shù):3182
日期:2018-06 瀏覽次數(shù):3234
日期:2018-06 瀏覽次數(shù):3495
日期:2018-06 瀏覽次數(shù):3337
日期:2018-06 瀏覽次數(shù):3257
日期:2018-06 瀏覽次數(shù):3432
日期:2018-05 瀏覽次數(shù):3340
日期:2018-05 瀏覽次數(shù):4149
日期:2018-05 瀏覽次數(shù):3253
日期:2018-05 瀏覽次數(shù):3666
日期:2018-04 瀏覽次數(shù):4118
日期:2018-03 瀏覽次數(shù):3258
日期:2018-03 瀏覽次數(shù):3134
日期:2018-03 瀏覽次數(shù):3321
日期:2018-02 瀏覽次數(shù):3314
日期:2018-02 瀏覽次數(shù):3282
日期:2017-12 瀏覽次數(shù):3424
日期:2017-12 瀏覽次數(shù):3656
日期:2017-12 瀏覽次數(shù):3842
日期:2017-12 瀏覽次數(shù):3216
日期:2017-12 瀏覽次數(shù):3202
日期:2017-11 瀏覽次數(shù):3240
日期:2017-11 瀏覽次數(shù):3312
日期:2017-11 瀏覽次數(shù):3210
日期:2017-11 瀏覽次數(shù):3338
日期:2017-11 瀏覽次數(shù):3906
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.