ORM и шаблон активной записи в PHP?

В настоящее время есть две вещи, которые кажутся популярными, и мне было интересно, какие плюсы и минусы используют что-то вроде этого: http://codeigniter.com/user_guide/database/active_record.html?

Другое дело - ORM (например, Doctrine). Каковы преимущества их использования?

Ответы

Ответ 1

ActiveRecord - это шаблон, распространенный в ORM. Doctrine - это ORM, который использует стиль ActiveRecord'ish.

Некоторые преимущества использования таких инструментов, как Doctrine:

  • Независимость базы данных: код должен быть легко переноситься в разные БД. Например, я часто тестирую SQLite и использую MySQL или Postgre в производстве без изменений кода.
  • Они уменьшают объем кода, который вы должны написать: Большая часть кода приложения связана с общением с базой данных. ORM заботится об этом, поэтому вы можете сосредоточиться на написании фактического приложения.

Конечно, они не имеют недостатков:

  • Доктрина тяжелая, поэтому она медленнее, чем использование прямого SQL
  • ORM могут быть сложными, добавляя некоторый вес к тому, что вы должны изучать, и иногда их трудно понять для неопытных программистов.

Ответ 3

Я старался держать его легким и понятным. Даже поставляется с собственным генератором классов на основе Mootools:)

http://www.schizofreend.nl/Pork.dbObject/

проверить:)