Se publica la primera versión estable de Doctrine 2.0
Tres años después del comienzo de su desarrollo, ya está disponible la primera versión estable de Doctrine 2.0, el ORM oficial del futuro Symfony2. Esta nueva versión es diferente en todo a Doctrine 1, por lo que es totalmente incompatible y si quieres utilizarla tendrás que reescribir todo el código de tu aplicación.
Las principales novedades de Doctrine 2 son las siguientes:
- Doctrine ahora se divide en dos componentes principales: DBAL, que se encarga de homogeneizar el acceso y uso de cualquier gestor de base de datos, y ORM, que te permite trabajar con bases de datos mediante objetos.
- DQL ahora es un lenguaje de verdad (con su propia gramática EBNF), lo que permite generar mensaje de error comprensibles. Las consultas se podrán seguir haciendo mediante DQL o encadenando los métodos del objeto QueryBuilder.
- Aunque sus creadores no han ofrecido datos concretos, aseguran que Doctrine 2 es "varios órdenes de magnitud" más rápido que Doctrine 1.
- La información necesaria para mapear la información de la base de datos en objetos ahora se puede definir mediante YAML, XML, PHP y anotaciones en el propio código.
Doctrine 2 también elimina varias características de Doctrine 1:
- Ya no se incluye ningún validador. Si utilizas Symfony2 esto no es mayor problema, ya que será el propio framework el que incluya todos los validadores necesarios.
- Tampoco se incluyen behaviors (los famosos Timestampable, Sluggable, etc. de Doctrine 1). Este es el punto más polémico de Doctrine 2, ya que muchos programadores defienden que los behaviors son muy útiles. La razón por la que se han eliminado es que son demasiado mágicos y es difícil programarlos bien.
Si estás pensando en pasarte a Doctrine 2, recuerda que para actualizar de Doctrine 1 a Doctrine2 tienes que tirar a la basura todo el código de tu aplicación relacionado con el ORM. También tendrás que redefinir un nuevo mapeo de base de datos y repensar bien toda la parte del modelo antes de volver a escribir todo ese código.
Para que te resulte más fácil la transición, no olvides leer el tutorial Getting Started y después, la referencia completa de Doctrine 2.
Fuente: Doctrine 2 First Stable Release
Comentarios
-
#1
Tengo varias aplicaciones escritas mediante Propel y me había propuesto migrarlas a Doctrine...menos mal que me he esperado un poquito!!! Mi pregunta es: este ORM será compatible con symfony 1.x o será necesario migrar los proyectos a Symfony 2???
-
#2
que lindo que lindo empezar el 2011 con todo nuevo
symfony2 + Doctrine2
... y que poco tiempo tengo :(
-
#3
que bien que ya este la version estable de Doctrine 2.0, pero lo que me parece malo esque para este fin de año no hayan sacado algun material la gente de Symfony, como lo hicieron en ediciones pasadas:
Askeet, Jobeet
pero bueno esperemos q Symfony 2 siga a paso firme
saludos y feliz año
-
#4
Pues como Doctrine 2 requiere PHP 5.3 la unica version de Symfony que la soporte sera la 2.
Symfony2 + Doctrine2 = WIN :D
Saludos,
-
#5
Tambien se ha publicado (Fabien Potencier) que Symfony2 va a soportar Propel.
Asi que seguiremos con Symfony2 y las discusiones de cual ORM es Mejor.....
Yo me inclino por Propel.
Saludos.
-
#6
NECESITO ALGO MAS ESPECIFICO PERO SI HAY ALGO QUE ME AYUDA EN MI TAREA
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.
Proyectos Symfony destacados
La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.