我们基于数据库中的每一张表来建立模型对象,如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); //获取多行比赛结果,类型为数组 } } ?>
备注:控制器及其他代码暂时不变。