Zend有Zend_Db,但它不是一个完整的ORM。我已经有一个使用Zend_Db编写的应用程序部分。但是,我确实希望将完整的ORM集成到应用程序中,以便将其用于更复杂的数据库操作,但我不想重写现有的完整操作。
对Zend Framework更有经验的人,您是否看到在某些操作中使用Zend_Db以及在其他操作中使用ORM时出现问题? Zend_Db生成的类是否可能与ORM生成的数据库类共存?如果我在一个动作中同时使用这两个类怎么办?我没有看到那里的冲突,但我对MVC或ORM并不是那么好,所以我可能会错过一场大冲突。
答案 0 :(得分:2)
我在ZF的1.0版本中对Zend_Db做了很多工作,我也使用了Doctrine。
Zend_Db和另一个ORM之间不应该有任何冲突。但是,通过Zend_Db接口获取的对象将不知道通过另一个ORM接口获取的对象,例如学说,反之亦然。
因此,如果您的其他ORM试图将提交批量添加到数据库,那么在尝试从Zend_Db对象中的相同行加载数据之前,您需要强制提交它。同样相反。
也就是说,ORM-ish库中没有任何东西可以帮助您管理这些案例,因此您需要了解每个ORM的行为方式。听起来你正在为很多工作做好准备以适应leaky abstractions,你最好还是重写你现有的Zend_Db代码。