在现有项目中使用ORM的最佳方法是什么?

时间:2010-12-09 05:11:47

标签: php mysql sql doctrine

我们有一个包含多个数据库和表的庞大项目。你会推荐学说还是类似的? Hat应该是为某些对象创建模型的方法吗? 例如,我们的用户对象由3个表组成,它们之间有1到N个关系。 Dba.userlogin Dbb.userprofile Dbb.lient.userid 等

欢迎提出任何建议或提示。

我们正在使用php。谢谢

2 个答案:

答案 0 :(得分:1)

使用ORM的主要原因是开发速度,并且在较小程度上迫使您进入最佳OO实践。

一旦你实际拥有一个系统,开发速度就不再那么重要了。如果您在编写系统时严重偏离了标准的OO模式,那么强迫您的设计使用ORM将是一件非常痛苦的事情,如果您确实遵循了最佳实践,那么转换为ORM会更容易 - 但是你真正获得了什么。

您应该评估这种重大重新分解所涉及的工作量和风险与预期的收益。

您可以查看类似SQLMap的iBatisy,它可以让您保留现有的大部分代码,但允许您对重新分解的代码采用ORM方法。

答案 1 :(得分:0)

如果您不想更改架构,请使用一个表到每个对象的直接映射。 Doctrine有模式到模型的翻译器。您可以在模型中标记用户,配置文件和用户ID之间的关系,而Doctrine将提供适当的链接($ user-> getProfile等)。