Se acabó la discusión sobre el ORM de Symfony

Una de las discusiones recurrentes sobre Symfony tiene relación con su ORM. Todo el mundo discute sobre si Propel es mejor que Doctrine, sobre si uno está mejor integrado que el otro, sobre el rendimiento de cada uno, sobre cuál de los dos incluirá la próxima versión de Symfony, etc.

Por fin, después de muchos meses, Fabien Potencier, el creador y máximo responsable de Symfony, responde alto y claro a todas las dudas, rumores y leyendas urbanas:

  • Propel está integrado en Symfony desde hace 2 años. Doctrine lleva en forma de plugin más de 1 año.
  • Mantener 2 ORM diferentes cuesta mucho tiempo y esfuerzo, así que Symfony siempre va a elegir uno de los 2 y ese va a ser el único que se incluya por defecto en el framework.
  • Symfony 1.1 ha elegido Propel como su ORM por defecto, al igual que en Symfony 1.0.
  • Una diferencia esencial en Symfony 1.1 es que Propel se incluye en forma de plugin, por lo que se iguala bastante a Doctrine, aunque el plugin de Propel ya viene incluido en el framework y el de Doctrine no.

La siguiente tabla resume la situación de Propel y Doctrine en cada versión de Symfony:

Symfony 1.0 Symfony 1.1 Symfony 1.2 Symfony 2.0
Versión de PHP requerida 5.0.4 5.1.4 5.2.X 5.3.X
Propel Propel 1.2 Propel 1.2 como plugin Propel 1.3 como plugin Propel 2.0 como plugin
Doctrine Plugin Plugin Plugin Doctrine 2.0 como plugin

Evidentemente, los datos de las versiones 1.2 y 2.0 de Symfony son sólamente estimaciones.

Por último, Fabien ha admitido que Doctrine se iba a incluir en Symfony 1.1, pero que no ha sido posible porque Doctrine todavía no es lo suficientemente estable y porque además requiere el uso de PHP 5.2.

Fuente: symfony, Propel, and Doctrine

Comentarios

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

12 de diciembre de 2007

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.