与codeigniter(php框架)一起使用的最佳ORM是什么?为什么?
答案 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: