Now that symfony 1.4 is out, it's time again for me to answer a lot of questions about which ORM people need to use. I don't have a definitive answer, but today, I want to share some numbers with you.

First, let me re-iterate that both Doctrine and Propel are equally supported in symfony 1.X. And thanks to the new installer feature of symfony 1.4, choosing between one or the other is just a matter of passing the --orm option when creating a project:

$ php symfony generate:project foo --orm=Doctrine

$ php symfony generate:project foo --orm=Propel

As for any Open-Source community, it's not easy to find metrics that tell you what people use and how they use it. You can measure the number of tickets for a specific feature, count the number of people asking for help on Propel or Doctrine. But for the Propel vs Doctrine question, we have two more reliable metrics.

First, the traffic on the Jobeet tutorial. The Jobeet tutorial is available for both Propel and Doctrine, and is the most popular piece of documentation for newcomers. As you can see on the graphic on the side, Doctrine has became the most popular ORM in June 2009, and going strong since then.

We can also compare the number of "Practical symfony" books sold during since the beginning if 2009. The difference between Propel and Doctrine is much more important, as we sell approximately five times more Doctrine books than Propel ones.

Choosing between Propel and Doctrine is really a matter of taste. Both have great features and also some weaknesses. But after you make your choice for a project, stick with it. Migrating from Propel to Doctrine or the other way around is just a huge task.

Published in #Community