As a lot of people ask me the same question over and over again, so here is some information about the state of the integration of ORM tools in symfony.

Even if symfony can use any ORM tool, or none at all, two libraries are tightly integrated with the symfony core: Propel and Doctrine.

Propel has been bundled with symfony since the first release two years ago.
Doctrine is a younger but a very promising ORM and has been available as a plugin since last year.

As I don't want to support two different ORM tools in the symfony core, one of them will always be the default and the one bundled with symfony.

symfony 1.0 and 1.1 both include Propel. The big difference between the two is quite significant. In symfony 1.1, Propel is bundled as a core plugin named sfPropelPlugin. This means that everything related to Propel is bundled in one plugin and Propel and Doctrine can have the same level of support.
So, the big differences is the default plugin bundled with the core and the fact that the bundled ORM is maintained, updated, and documented by the core team.

So, what is the version of Propel included with symfony 1.1? Why Doctrine is not bundled with symfony 1.1? Why symfony 1.1 still uses Propel 1.2?

Here are the answers in the list below:

  • symfony 1.0:
    • required PHP >= 5.0.4
    • Propel 1.2 included
    • Doctrine as a plugin
  • symfony 1.1:
    • requires PHP >= 5.1.4
    • Propel 1.2 included as a plugin
    • Doctrine as a plugin
  • symfony 1.2:
    • requires PHP >= 5.2.X?
    • Propel 1.3 included as a plugin
    • Doctrine as a plugin
  • symfony 2.0:
    • requries PHP >= 5.3.X?
    • Doctrine 1.0? included as a plugin
    • Propel 2.0? as a plugin


symfony 1.0 and 1.1 dependencies are definitive.

For symfony 1.2 and 2.0, this is what I expect, but it will depend on the availability of stable versions of Propel and Doctrine and their dependencies, so it is subject to change.

Doctrine was scheduled to be included in symfony 1.1 but it won't because it's not yet stable yet and requires PHP 5.2.