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


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

entity dao php orm model

伊达熊之助 9 years, 9 months ago

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();

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

bolia answered 9 years, 9 months ago

Your Answer