5

与 codeigniter(php 框架)一起使用的最佳 ORM 是什么,为什么?

4

5 回答 5

4

正如 DrColossos 所建议的那样,Doctrine 是一个优秀且强大的 ORM,可以相当容易地插入 CI 应用程序。对于 CodeIgniter 2 和 Doctrine 2,您可以使用本教程设置 CodeIgniter 2 with Doctrine 2 the Right Way

于 2010-12-30T13:09:08.290 回答
1

我更喜欢使用 Active Record。它已经存在了,我还没有遇到过它不能满足我的需求的情况。我没有在 CodeIgniter 之上使用另一个 ORM,但我怀疑它在大多数情况下会添加不必要的层。

你需要做什么而内置的 Active Record 工具没有提供?

于 2010-12-30T13:14:09.510 回答
1

这个问题非常模糊,完全取决于用例。

无论如何,我更喜欢Doctrine而不是内置数据库访问,因为我更喜欢编写查询而不是使用(IMO 奇怪的方式)CI 的数据库访问。这比 CI 实现有更多的 OO 感觉,并且非常强大,因为它允许您执行与常规 SQL 相同的事情(复杂的连接、子选择、更高级的 WHERE 条件)。
我也更喜欢它,因为您可以跳入查询过程,这意味着您可以在提交查询之前执行操作,提交查询之后,应用规则等等。我还没有在 CI 中以简单的方式看到这一点。
阅读文档中的示例以了解我在说什么。

使用 Doctrine 可以轻松集成到 CI 中(互联网上有很多帖子,甚至在 SO 上也有一些帖子),因此您不必学习任何花哨的新约定。

无论您选择什么,请记住,任何 ORM 都会为一个非常轻量级的框架增加大量(与 CI 的基本足迹相比)开销。因此,您为了强大的数据库功能和更多抽象而牺牲了轻量级。

于 2010-12-30T09:37:58.073 回答
0

一种选择是 DataMapper ORM:

http://datamapper.exitecms.org/

于 2010-12-31T21:26:56.240 回答
0

I think you should just use active record because most of the times I think you could pay a big penalty by using another layer of abstraction(ORM).

于 2010-12-29T23:06:43.603 回答