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