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     }

文件件目录关系:

        

 

 

 

        

posted @ 2017-08-19 21:58  小油菜1  阅读(163)  评论(0编辑  收藏  举报