在什么情况下,使用原则2而不是PDO是有意义的


Under which conditions does it make sense to use Doctrine 2 instead of PDO?

我的问题不是针对一般的orm,而是针对原则2!

每个稍微复杂的php应用程序都使用数据库。

将M、V和C分开是有意义的,将M分成db访问级和高级对象也是有意义的。

现在我只是对Doctrine 2有了一个肤浅的了解,它当然看起来很不错,但是到目前为止我看不出任何理由,与使用pdo功能(如FETCH_CLASS, FETCH_OBJECT和FETCH_INTO)结合合理结构的类集合相比,我将从这个工具中获得什么。

当然我必须自己写更多的代码;但是比起使用框架开发而不是从头开始构建php应用程序所获得的速度,这种差异似乎还远远不够。

如果你知道原则2,那么也许你可以告诉我在什么情况下应该认真考虑原则2,b/c:

它将大大加快开发(由于特定的功能)

在我看来这是唯一有意义的原因。

你是对的,它确实大大加快了开发速度。另一个比较是"偏好"——原则2感觉更像是"面向对象"。同样重要的是要注意,原则2使用事务来执行查询以加快执行时间,尽管这可以使用您之前提到的PDO来完成,但需要您编写更多代码。

我猜这就像拥有自己的PHP库和使用框架。它只是"加速"了开发过程,因此对于编写大型应用程序的人来说,它显然是一个赢家。