Before we began working on symfony 1.3, we asked the community about their priorities for the framework.
We had a lot of suggestions, and some of them were contradictory. As of today, the second and fourth most voted suggestions are: "make Doctrine the default ORM" and "do not make Doctrine the default ORM". How can we make everybody happy?
Thanks to the new
feature of the
generate:project task, symfony 1.3 is able to create a
project for Doctrine or Propel very easily.
But we still need a default ORM. That was not my opinion some months ago, but after some great discussions with members of the community, I changed my mind. We don't want to bother new users with a question about the ORM they want to use. How a newcomer can make a choice between Propel and Doctrine? It is just not possible. We cannot ask him to read all the documentation just to make a choice. It does not make any sense. As Doctrine is the future of symfony, we decided to make it the default choice when creating a new project:
$ php /path/to/symfony generate:project foobar
But if you still want to use Propel, that's not a problem, just add a
$ php /path/to/symfony generate:project foobar --orm=Propel
The implementation is dead-easy, and you will now enjoy a Propel-free project when using Doctrine, and of course the other way around when working with Propel.
To sum up, symfony 1.3 support both Propel and Doctrine equally, with a preference towards Doctrine if you start a new project today.