在性能方面,哪一个是PHP的最佳ORM?我也想在Codeigniter框架中使用它。我现在正在尝试php-activerecord,它并没有表现糟糕。我看了一下Doctrine2,DataMapper和其他东西,但是在我建立一个大项目之前我无法讲述任何关于性能的事情(当时,改变主意为时已晚)。
有什么想法?
答案 0 :(得分:4)
如果你的目标是性能,那么开始使用ORM是错误的选择。
ORM专注于强制关系结构像对象一样行动,这是问题的根源(性能的损失和API的限制)。这就是为什么性能是ORM不关注的原因。 ORM真正擅长的是快速原型设计,但是当在大型项目中使用时,它们通常最终导致technical debt。
另外..如果您认真使用CodeIgniter,请阅读the source,并确定,这是否是您希望以项目为基础的代码质量。
P.S。这里有两篇你可能会发现有点煽动性的文章,但有相关的观点:
答案 1 :(得分:1)
Here is a link to GAS ORM vs PHP Active Record (滚动到底部)
结果? Gas ORM比PHP Active Record更有效
答案 2 :(得分:0)
当您启动一个新项目时,您可以快速地将对象导入和导出数据库,而无需担心如何执行此操作。您还可以非常快速地将DBMS从本地开发计算机上的SQLite切换到测试或登台服务器上的MySQL。当性能部分启动时,您的应用程序已经成熟了一些,模型有些修复并且programlogic正在运行。将模型扩展为使用SQL而不是ORM更方便,因为项目的结构不再发生变化(如此之快)。
我建议学说。
使用Doctrine可以轻松地集成到CI中(因特网上有很多帖子,甚至有些帖子都在SO上)所以你不必学习任何新的公约。
无论您选择哪种方式,请记住,任何ORM都会为非常轻量级的框架增加大量(与CI的基础足迹相比)开销。因此,您为了强大的数据库功能和更多的抽象而牺牲了轻量级。
检查此链接,我发现了非常好的信息 http://www.phpandstuff.com/articles/codeigniter-doctrine-from-scratch-day-1-install-and-setup