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

Yii的Active Record应该是对YIIDao层的更高抽象。但是什么时候使用YIIDao什么使用使用AR?

程序员文章站 2022-05-20 23:42:23
...
刚刚看了Yii对数据库的操作。一种是使用原生的YIIDAo,一种是Yii的 AR技术。请问一般实际开发中谁用的多?yii提供的这两种方式都有些迷惑了。

回复内容:

刚刚看了Yii对数据库的操作。一种是使用原生的YIIDAo,一种是Yii的 AR技术。请问一般实际开发中谁用的多?yii提供的这两种方式都有些迷惑了。

简而言之,追求快捷开发用AR,追求运行效率用DAO。这俩货是不同层次的东西,可以理解为一种是cPython,一种是C++。你问出这个问题本质上是你不了解AR是做神马的,ActiveRecord是一种设计模式,他的直接目的不是为了操作数据库的,而是一种数据模型,是数据的更高级抽象。DAO基本是原生PDO的Yii封装,加入了一些特色的简便功能。

实际开发中,用 AR 应该是用得更多。不过有些开发者倾向于效率优先,什么都用原生的,不过这样感觉就利用不到Yii 的便捷性了,所以这一点我没有准确的答案。最好两个都玩玩,自然有自己的喜好偏向了。不过个人感觉用了AR才能抓住Yii的精髓,连带了解ActiveForm,表单验证等功能。

复杂业务逻辑使用DOA, 反之用AR

相关标签: php yii