足球比赛5-优化模型层

我们基于数据库中的每一张表来建立模型对象,如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);	//获取多行比赛结果,类型为数组
		}
	}

?>

  备注:控制器及其他代码暂时不变。

猜你喜欢

转载自www.cnblogs.com/mnhome/p/9853828.html