【发布时间】:2013-03-11 00:50:45
【问题描述】:
我们的团队在 PHP 中使用 ORM,我在两个单独的项目中指出,尽管我们已经详细讨论了良好的 MVC 设计,但 ORM 似乎允许人们进行数据库查询来自 View 层并创建难以维护的代码。
我倾向于这样一种观点,即 ORM 使得在程序员没有想到的情况下进行查询变得太容易了。通过将 ORM 对象返回到视图层,程序员实际上是在将数据库连接泄漏到不应该有它的层。
我在这里正确地考虑 ORM 吗?如果是这样,为什么它如此受欢迎?如果我没有正确地考虑它,我应该如何解决这些问题?
【问题讨论】:
-
我已经回答了,但有兴趣知道您使用的是什么 ORM。
-
另外,你有没有尝试过简单的架构规则,比如“瘦控制器,胖模型”?
-
Symfony 不是 ORM。
:)Propel 还是 Doctrine? -
我的意思是说内置的Doctrine ORM模块。
-
我一直的心态是:胖服务层瘦控制器&瘦DAO层(本例是ORM层,虽然我个人更偏向于单独的模型和自建的DAO层)。
标签: php orm coding-style doctrine