HDWiki/MVC中的模型

来自站长百科
跳转至: 导航、​ 搜索

HDWiki | HDWiki使用 | HDWiki插件

概述[ ]

MVC中的模型model主要负责功能部分,绝大部分的功能在此实现,模型对整个功能负责,它能调用数据库或者缓存文件得到数据.

模型(model)文件存放于 model文件夹中,命名基本以功能为主,例如doc.class.php表示就是词条相关的模型,user.class.php就是用户相关的模型

结构[ ]

示例代码如下(以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'");
     }

     ......


}

?>

相关解释:

1、!defined('IN_HDwiki') && exit('Access Denied'); 每个model文件都是以此开头表示必须是HDwiki内部调用

2、class usermodel 每个model类的名称均是 文件名 + model 例如,文件是user.class.php 则类名为usermodel,在control调用就是 $_ENV['user']->somefunction();

3、每个模型类必须有构造函数,function usermodel 做初始化数据 ,其中:

$this->base=$base; 载入base类,每个model类都需要这样调用

$this->db=$base->db;调用数据库

4、function get_user方法就是我们具体的功能函数了,通常是调用数据库已去的数据,根据要求将取得的数据返回给control控制器

开发[ ]

若要在某个model增加新的功能,以上面结构为例,只需要增加新的方法即可,以增加个总用户个数为例,control控制器调用$_ENV['user']->get_user_count();则我们需要增加个get_user_count(),在这个方法中,通过数据库得到总人数后返回给control,这个新的功能便添加完成

function get_user_count(){
    return $this->db->result_first("select count(*) num from wiki_user");
}

若我们需要新增一个model,则需要按照上例中创建一个model文件并按照规定给该model命名,做和上例相同的初始化工作,然后添加需要的方法即可,当我们需要调用这个model的时候需要做以下两个步骤

1.在某个control控制器文件类的 control方法里面加入$this->load('user'); 其中user便是模型的名字

2.在某个control控制器文件调用该模型的某个方法使用 $_ENV['user']->get_user_count();其中$_ENV['user']的user同上,是模型的名字,get_user_count()是user模型中的方法

这样添加一个新的模型就完成并可以使用了

参考来源[ ]

http://kaiyuan.hudong.com/

HDWIKI使用手册导航

HDWIKI安装

安装教程

HDWiki使用

前台使用说明 | 用户管理 | 模板管理 | 插件管理 | 数据库管理 | 站内统计 | Map功能 | 基本设置 | 站点设置 | 扩展设置 | 内容设置 | 友情链接及广告管理 | 分类管理 | 词条管理 | 数据调用 | 其他内容管理 | 礼品商店 | 图片及木马扫描 | Apache伪静态 | IIS伪静态 | Nginx伪静态 | 通用样式解读 | 样式使用规则 | 数据库结构说明 | 模板说明 | 函数类参考 |软件包结构 | HDWiki运行机制和原理 |编码规范 |MVC中的控制器 | 框架简介 | 高级应用 | MVC中的视图 | MVC中的模型 | HDWiki与PHPCMS整合 | HDWiki与PHPWind整合 | HDWiki与DEDECMS整合 | HDWiki与UCenter整合 | 可视化编辑使用说明 | 模块区版块制作教程 | 模版共享

HDWiki插件

插件开发指南 | 许愿墙插件开发实例 | 模版与标签 | 宣传中心 | 友情链接申请 | 数据调用 | 互动摸摸