WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
HDWiki/MVC中的模型
概述[ ]
MVC中的模型model主要負(fù)責(zé)功能部分,絕大部分的功能在此實(shí)現(xiàn),模型對(duì)整個(gè)功能負(fù)責(zé),它能調(diào)用數(shù)據(jù)庫(kù)或者緩存文件得到數(shù)據(jù).
模型(model)文件存放于 model文件夾中,命名基本以功能為主,例如doc.class.php表示就是詞條相關(guān)的模型,user.class.php就是用戶相關(guān)的模型
結(jié)構(gòu)[ ]
示例代碼如下(以u(píng)ser.class.php為例):
!defined('IN_HDwiki') && exit('Access Denied'); class usermodel { var $db; var $base; function usermodel(&$base) { $this->base = $base; $this->db = $base->db; } function get_user($field,$value){ return $this->db->fetch_first("SELECT * FROM ".DB_TABLEPRE."user WHERE $field='$value'"); } ...... } ?>
相關(guān)解釋:
1、!defined('IN_HDwiki') && exit('Access Denied'); 每個(gè)model文件都是以此開(kāi)頭表示必須是HDwiki內(nèi)部調(diào)用
2、class usermodel 每個(gè)model類的名稱均是 文件名 + model 例如,文件是user.class.php 則類名為usermodel,在control調(diào)用就是 $_ENV['user']->somefunction();
3、每個(gè)模型類必須有構(gòu)造函數(shù),function usermodel 做初始化數(shù)據(jù) ,其中:
$this->base=$base; 載入base類,每個(gè)model類都需要這樣調(diào)用
$this->db=$base->db;調(diào)用數(shù)據(jù)庫(kù)類
4、function get_user方法就是我們具體的功能函數(shù)了,通常是調(diào)用數(shù)據(jù)庫(kù)已去的數(shù)據(jù),根據(jù)要求將取得的數(shù)據(jù)返回給control控制器
開(kāi)發(fā)[ ]
若要在某個(gè)model增加新的功能,以上面結(jié)構(gòu)為例,只需要增加新的方法即可,以增加個(gè)總用戶個(gè)數(shù)為例,control控制器調(diào)用$_ENV['user']->get_user_count();則我們需要增加個(gè)get_user_count(),在這個(gè)方法中,通過(guò)數(shù)據(jù)庫(kù)得到總?cè)藬?shù)后返回給control,這個(gè)新的功能便添加完成
function get_user_count(){ return $this->db->result_first("select count(*) num from wiki_user"); }
若我們需要新增一個(gè)model,則需要按照上例中創(chuàng)建一個(gè)model文件并按照規(guī)定給該model命名,做和上例相同的初始化工作,然后添加需要的方法即可,當(dāng)我們需要調(diào)用這個(gè)model的時(shí)候需要做以下兩個(gè)步驟
1.在某個(gè)control控制器文件類的 control方法里面加入$this->load('user'); 其中user便是模型的名字
2.在某個(gè)control控制器文件調(diào)用該模型的某個(gè)方法使用 $_ENV['user']->get_user_count();其中$_ENV['user']的user同上,是模型的名字,get_user_count()是user模型中的方法
這樣添加一個(gè)新的模型就完成并可以使用了
參考來(lái)源[ ]
HDWIKI使用手冊(cè)導(dǎo)航 | ||||||
---|---|---|---|---|---|---|
|