系统模型类:model.class.php
数据模型类的位置:/phpcms/libs/classes php
phpcms v9二次开发中,咱们要常常须要对模块的数据表进行查询、添加、修改和删除数据等操做,全部这些操做都离不开数据模型类model.class.php,它起到开发者与数据表的交互做用。model.class.php里面封装了许多数据表操做的方法,基本上经常使用的mysql操做语句都能从中找到,可是它又和原生态的mysql语句有所不一样,和其它PHP内容管理系统同样,PHPCMS也对原生态的mysql语句进行封装简化,以使它操做起更加方便,为开发者省去了很多麻烦。具体咱们来看一下model.class.php代码片段: html
<?php pc_base::load_sys_class('db_factory', '', 0); class model { ... public function __construct() { if (!isset($this->db_config[$this->db_setting])) { $this->db_setting = 'default'; } $this->table_name = $this->db_config[$this->db_setting]['tablepre'].$this->table_name; $this->db_tablepre = $this->db_config[$this->db_setting]['tablepre']; $this->db = db_factory::get_instance($this->db_config)->get_database($this->db_setting); } /** * 执行sql查询 * @param $where 查询条件[例`name`='$name'] * @param $data 须要查询的字段值[例`name`,`gender`,`birthday`] * @param $limit 返回结果范围[例:10或10,10 默认为空] * @param $order 排序方式 [默认按数据库默认方式排序] * @param $group 分组方式 [默认为空] * @param $key 返回数组按键名排序 * @return array 查询结果集数组 */ final public function select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') { if (is_array($where)) $where = $this->sqls($where); return $this->db->select($data, $this->table_name, $where, $limit, $order, $group, $key); } ... }如上面的 select语,和mysql的select()有所不一样,只要传入相关参数就能够实现mysql要用不少语句才能实现的功能。更多请看model.class.php。
模块模型类:数据表名称+'_model.class.php'
模块模型类的位置:phpcms/model/ mysql
在调用model.class.php里面的方法时,须要先把它实例化。每一个模型对应一张数据表,每张数据表对应一个模块模型类。如今咱们来建一个球队的模块模型表'fbteam',那么它对应的模型类为football_model.class.php,完整代码以下: web
<?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('model', '', 0);//加载加载系统模型类model.class.php class football_model extends model {//球队模型类football_model.class.php继承系统模型类model.class.php public $table_name;//声明一个数据表变量 public function __construct() {//初始化球队模型类的构造函数 $this->db_config = pc_base::load_config('database');//加载数据库配置文件database.php $this->db_setting = 'default';//为数据库配置文件中配置数据库连接池名称,默认为default $this->table_name = 'fbteam';//'fbteam'为球队数据表的名称 parent::__construct();//调用父类model.class.php的构造函数,以获取父类的属性方法 } } ?>这样咱们就创建好了一个球队模块的数据模型类。
本文首发WBlog博客,欢迎转载!转载请注明本文地址,谢谢。 sql
本文地址:http://www.w3note.com/web/18.html 数据库