欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

model,entity,dao,orm这几个的区别?

程序员文章站 2022-06-01 22:32:17
...
有点混淆啊,大神给说一下几个的区别啊。

回复内容:

有点混淆啊,大神给说一下几个的区别啊。

model一般在MVC中出现,指的是M层,也就是模型层。

entity在PHP中我很少见到,一般在asp和java中多一点,也是框架中的一部分,也算是模型层的一部分吧,他是把数据表或其它持久化数据的格式映射成的类,就是实体类,里面一般属性居多,你可以理解一个字段对应一个变量属性。

dao一搬指的是数据库的封装接口,PHP中有pdo就是这个,model层就是在其基础之上的。也有MVC喜欢把model层和dao层搞成一个,但是一搬不建议这样,耦合性差。

ORM是一种设计,一般在框架中应用很多,PHP中也很多,一般在model层体现出来,这个是居于面向对象编程才有的。全称是“Object Relational Mapping”。一般你可以理解成一个对象对应的就是数据库的一张表,有统一的操作API(find,select()等等),当然还有一对多,多对多的关系,你在实际使用过程当中就能感受到了。
举个栗子

//TP框架下
//会再内部执行select * from user where id = 1
//这里的$userModel就是一个数据表对象
$reslut = $userModel->where(['id'=>1])->find();

如果有问题,请在评论区大家一起讨论,完善。
(●'◡'●)