PHP-MVC模型层的典型实现

2025-11-23 00:14:46

1、基础模型类

模型类,通常就是一个独立的类文件。

其内部的代码,就是一些方法。

这些方法,就是来完成有关数据的操作——增删改查。

典型情况是: 在数据库中的每一个“表”(table),都会使用一个独立的模型类文件来跟他对应,并完成该表的各种可能需求中的增删改查工作。

类似这样:

PHP-MVC模型层的典型实现

2、这些模型类,都有一些最基本的共同的工作,比如:使用mysqldb工具类。

于是,我们可以将这些共同 的工作,放入到一个“父模型类”中,这些具体的模型类,都继承这个父模型类,这样就都具有这些功能。

代码如下:

PHP-MVC模型层的典型实现

3、同时,UserModel和ProductModel相应改为:

PHP-MVC模型层的典型实现

PHP-MVC模型层的典型实现

4、

4.单例模型工厂类

回想:

工厂(模型类),是指这样一个类:它能够生产所指定的某个类的对象。

模型工厂:

就是能够生产模型类的对象的“工厂类”;而且,通过该工厂所生产的模型类的对象,是“单例的”。

比如,我们现在有2个模型类:UserModel,  ProductModel

为什么这些模型类,会需要单例呢?

因为,就模型类中的那些工作(方法)而言,有一个对象,就都可以调用那些方法。

示意如下:

class  ModelFactory{

static  function  GetModel(  $c  ){ //$c是一个类名;

.......

return  $c的对象

}

}

class  A{};

class  B{};

$obj1 = ModelFactory::GetModel(“A”);  //得到A的对象

$obj2 = ModelFactory::GetModel(“B”);  //得到B的对象

$obj3 = ModelFactory::GetModel(“A”);  //得到A的对象,而且,它就是前面的那个$obj1,这样也就实现了单例。

详细代码如下:

PHP-MVC模型层的典型实现

5、则,在控制器中获得一个模型对的代码改造为:

PHP-MVC模型层的典型实现

6、整个模型层的类库结构图

图示:

浏览器 --->>> 控制器 --->>> 模型工厂类 --->> 模型类 --->>> MySQLDB工具类 --->>>  mysql数据

模型对象->方法()

返回数据;

PHP-MVC模型层的典型实现

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢