Las bases de datos siguen una estructura relacional. PHP 5 y Symfony por el contrario son orientados a objetos. Por este motivo, para acceder a la base de datos como si fuera orientada a objetos, es necesario una interfaz que traduzca la lógica de los objetos a la lógica relacional. Esta interfaz se denomina "mapeo de objetos a bases de datos" (ORM, de sus siglas en inglés "object-relational mapping").Aunque en la guía se indica que Propel es el ORM por defecto de Symfony, parece que ha sido eclipsado últimamente por Doctrine. De hecho éste último tiene varias ventajas respecto al primero como se indica en páginas como esta: http://www.hasheado.com/doctrine-vs-propel.html.
Hay una comparación "oficial" en esta otra página: http://trac.symfony-project.org/wiki/ComparingPropelAndDoctrine.
Mi primera impresión por la información que he encontrado es que Doctrine es la mejor opción. Además, solo el hecho de que esté basado en YAML y no en XML creo que ya representa una ventaja muy importante a la hora de trabajar. YAML es mucho más inteligible para un humano que el XML.
Pero dejando de lado opiniones e impresiones... ¡ojo! ¡Doctrine es el ORM oficial para Symfony 2!.
No hay comentarios:
Publicar un comentario