ホームページ > バックエンド開発 > PHPチュートリアル > model,entity,dao,orm这几个的区别?

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

WBOY
リリース: 2016-06-06 20:30:18
オリジナル
1606 人が閲覧しました

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

回复内容:

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

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

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

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

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

<code>//TP框架下
//会再内部执行select * from user where id = 1
//这里的$userModel就是一个数据表对象
$reslut = $userModel->where(['id'=>1])->find();
</code>
ログイン後にコピー

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート