系統模型類: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 數據庫