2010-10-02 72 views
3

Zend使用Zend_Db,但它不是完整的ORM。我已经有了使用Zend_Db编写的应用程序部分。不过,我想要将完整的ORM集成到应用程序中,以便将其用于更复杂的数据库操作,但我不希望重写现有完整的操作。将Zend_Db与ORM类混合使用

那些Zend Framework更有经验的人,你看到在某些操作中使用Zend_Db和在其他操作中使用ORM时出现问题吗? Zend_Db生成的类可能与ORM生成的数据库类共存吗?如果我甚至在一个单独的行动中使用这两个班,该怎么办?我没有在那里看到冲突,但是我对MVC或ORM不太了解,所以我可能会错过一个很大的冲突。

回答

2

我在ZD的1.0版本中对Zend_Db做了很多工作,而且我也使用了一些Doctrine。

Zend_Db和另一个ORM之间不应该有任何冲突。然而,通过Zend_Db接口获取的对象不知道通过另一个ORM接口获取的对象,例如学说,反之亦然。

因此,如果您的其他ORM试图聪明地批量提交数据库,您希望在尝试从Zend_Db对象中的相同行加载数据之前强制它提交。反过来也是如此。

也就是说,ORM-ish库中没有任何东西可以帮助您管理这些情况,所以您应该了解每个ORM的行为。听起来你正在为自己设置很多工作来适应leaky abstractions,并且最好重写现有的Zend_Db代码。