2)小案例步骤2,添加工厂类
和上面的思路一样,只不过稍加改进的是加了工厂类,来实例化数据库对象
框图展示:
代码展示:
只是在zixun.controller.class.php 发生了代码改动:
1 <?php 2 //header('Content-type:text/html;charset=utf8'); 3 /** 4 * Created by PhpStorm. 5 * User: Interact 6 * Date: 2017/8/19 7 * Time: 18:37 8 */ 9 class zixun{ 10 public static function show(){ 11 // require 'zixun.model.class.php'; 12 // $zixunModel=new zixunModel(); 13 require './Factory.class.php'; 14 $zixunModel=Factory::M('zixunModel'); 15 $records=$zixunModel->getAll(); 16 // var_dump($records); 17 require 'html/show.html'; 18 19 } 20 } 21 zixun::show();
然后我的工厂类:
1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: Interact 5 * Date: 2017/8/19 6 * Time: 21:13 7 */ 8 /* 9 * 项目中的工厂类 10 */ 11 class Factory{ 12 /* 13 * 生成模型的单例对象 14 * @param $model_name string 15 * @return object 16 */ 17 public static function M($model_name){ 18 static $model_list=array(); 19 //存储已经实例化好的模型对象得列表,下标是模型名,值是模型对象 20 //判断当前模型是否实例化 21 if(!isset($model_list[$model_name])){ 22 //没有实例化过 23 require $model_name . '.class.php'; 24 $model_list[$model_name]=new $model_name();//实例化对象 25 } 26 return $model_list[$model_name]; 27 28 } 29 }
文件件目录关系: