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