То, что Doctrine является выбором по умолчанию, не означает, что оно единственное. Он не тесно связан с Symfony и может быть заменен.
Symfony предоставляет разумные значения по умолчанию, но дает вам свободу их менять.
Например, вы можете использовать Propel . Он реализует Active Record (в отличие от Doctrine2).
Вы можете написать свою собственную реализацию ORM, если хотите.
Обратите внимание, что кроме ORM в Doctrine есть несколько полезных вспомогательных библиотек. Например, средство чтения аннотаций используется в Symfony для анализа аннотаций. Если вы используете их, вам понадобится эта часть Учения.