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

时间:2010-12-29 23:03:59

标签: php orm codeigniter doctrine doctrine-orm

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

5 个答案:

答案 0 :(得分:4)

正如DrColossos所说,Doctrine是一个优秀而强大的ORM,可以很容易地插入到CI应用程序中。 适用于CodeIgniter 2& Doctrine 2,您可以在Setting up CodeIgniter 2 with Doctrine 2 the Right Way上使用本教程。

答案 1 :(得分:1)

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

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

使用Doctrine可以轻松地集成到CI中(因特网上有很多帖子,甚至有些帖子都在SO上)所以你不必学习任何新的公约。

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

答案 2 :(得分:1)

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

内置的Active Record工具无法提供什么?

答案 3 :(得分:0)

我认为你应该只使用有效记录,因为大多数时候我认为你可以通过使用另一层抽象(ORM)来支付大笔罚款。

答案 4 :(得分:0)

一个选项是DataMapper ORM:

http://datamapper.exitecms.org/