我们基于数据库中的每一张表来建立模型对象,如ModelMatch、ModelTeam、ModelPlayer等,几乎所有的模型类都需要使用到模型对象DAO,因此我们需要把模型类对象DAO与具体的模型类分离出来,让所有的模型类都共用模型类对象DAO。
基础模型模型Model
<?php
/**
* 基础模型类
*/
class Model{
protected $_dao;
//初始化DAO
protected function _iniDAO(){
//数据(业务逻辑)处理
//通过数据操作,将比赛列表需要的数据处理
//初始化MySQL
$config=array(
'host'=>'127.0.0.1',
'port'=>'3306',
'username'=>'root',
'password'=>'123',
'charset'=>'utf8',
'dbname'=>'db_match'
);
require "./MySQLDB.class.php";
$this->_dao=MySQLDB::getInstance($config); //dao,Database ACCESS Object 数据库操作对象(dao层)
}
//初始化
public function __construct(){
$this->_iniDAO();
}
}
?>
模型类MatchModel
<?php
require "./Model.class.php";
//match表的操作模型类
class MatchModel extends Model{
/**
* 获得所有的比赛列表
*/
public function getList(){
$sql="select t1.t_name as t1_name,m.t1_score,m.t2_score,t2.t_name as t2_name,m.m_time
from `match` m join team t1 on m.t1_id =t1.t_id join team t2 on m.t2_id =t2.t_id";
return $this->_dao->getAll($sql); //获取多行比赛结果,类型为数组
}
}
?>
备注:控制器及其他代码暂时不变。