作者:Rockets马丁 | 来源:互联网 | 2023-06-23 14:57
Yii的ActiveRecord应该是对YIIDao层的更高抽象。但是什么时候使用YIIDao什么使用使用AR?:刚刚看了Yii对数据库的操作。一种是使用原生的YIIDAo,一种是
刚刚看了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