Just because Doctrine is the default choice does not mean that it is the only one. It is not tightly coupled to Symfony and can be replaced.
Symfony provides reasonable defaults, but gives you the freedom to change them.
For example, you can use Propel . It implements Active Record (unlike Doctrine2).
You can write your own implementation of ORM if you want.
Note that in addition to ORM, Doctrine has several useful helper libraries. For example, an annotation reader is used by Symfony to analyze annotations. If you use them, you will need this part of the Doctrine.
source share