php - PHP 中的 ORM 和事件记录模式?

标签 php design-patterns activerecord orm

现在有两件事似乎很流行,我想知道使用这样的东西有什么优缺点:http://codeigniter.com/user_guide/database/active_record.html

另一件事是 ORM(例如 Doctrine)。使用这些有什么好处?

最佳答案

ActiveRecord 是 ORM 中常见的一种模式。 Doctrine 是一种使用 ActiveRecord 风格的 ORM。

使用像 Doctrine 这样的工具的一些好处:

  • 数据库独立性:代码应该易于移植到不同的数据库。例如,我经常使用 SQLite 进行测试,并在生产中使用 MySQL 或 Postgre,而无需更改代码。
  • 它们减少了您必须编写的代码量:很大一部分应用程序代码处理与数据库的通信。 ORM 负责大部分工作,因此您可以专注于编写实际的应用程序。

当然,它们也有缺点:

  • Doctrine 很重,所以它比直接使用 SQL 慢
  • ORM 可能很复杂,增加了您必须学习的内容的重量,而且对于没有经验的程序员来说,它们有时可能难以理解

关于php - PHP 中的 ORM 和事件记录模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1113716/

相关文章:

PHP:func_get_args 性能?

design-patterns - 我什么时候应该使用构建器设计模式?

ruby-on-rails - rails - 使用 :select(distinct) with :has_many :through association produces invalid SQL

java - 设计模式 - 验证输入参数并创建持有者类,J2SE(无框架等)

design-patterns - 是否有用于实现可选功能的良好设计模式?

ruby-on-rails - 如何在 Ruby on Rails 中有效地处理多个数据库表

Mysql日期和rails日期与UTC

php - 简单的 PHP 分页脚本

php - 按品牌或标题组织帖子,而不是 id

javascript - 如何创建自定义交易 ID php