Doctrine 2 Preview Release

Tags: release, 2.0

Posted 11 months ago by romanb

Exactly one year ago today we released Doctrine 1.0 stable, which was on the birthday of Jon. Again, today we have chosen the birthday of Jon to release the first preview of Doctrine 2. This is an alpha release that is not intended for production use.

Doctrine 2 marks the beginning of a new approach to ORM with Doctrine. It represents a rewrite of more than 90% of the existing codebase. The new key concepts behind Doctrine 2 are to put your domain model more into focus and to provide transparent persistence where the persistence is a service and not an inherent property of domain classes. This has a lot of advantages like decoupling your valuable business logic from the persistence layer and easy testability of your domain model.

Packages

Doctrine 2 is reorganized into reusable layers that are available as separate packages. The Doctrine 2 Core consists of the following packages:

  • Doctrine Common (Generic components, high re usability)
  • Doctrine DBAL (The database abstraction layer, includes: Common)
  • Doctrine ORM (The ORM tools, includes: Common + DBAL)

All of these packages are currently distributed and maintained synchronously which means they are released together and share the same version numbers. This may change in the future. These three packages are available as separate downloads even though you will most likely want to download the ORM package which already contains the Common and DBAL packages.

Features

This Preview Release is mainly about the core ORM functionality and features of Doctrine 2, like mapping drivers, DQL, association mapping, inheritance mapping, change tracking, etc. Most of the supporting tools that you are used to for rapid development like the CLI, migrations, behaviors and validation have not yet been ported to Doctrine 2 and are still under heavy development, most of them will end up as loosely coupled extensions.

Mapping drivers

A mapping driver is a particular strategy for providing ORM metadata to Doctrine 2. This Preview Release contains mapping drivers for docblock annotations, XML and YAML. The XML and YAML drivers are still in an experimental stage and while we encourage you to use them, you may encounter more issues than with the docblock annotation driver as it is the primary driver used in our development.

Documentation

The documentation for Doctrine 2 can be found here. Please be aware that the documentation is still a work in progress and not all areas have been completed.

Sandbox

To get started quickly, please check out our sandbox quickstart tutorial. You can also obtain Doctrine 2.0.0 ALPHA1 via a PEAR package like normal which can be found on the download

We want to encourage everyone to start experimenting with the new generation of Doctrine in order to get familiar with it and to help find any outstanding issues.

As always, please report any issues and feature requests through trac.

Thank you for using Doctrine.


Comments (20) [ add comment ]

Congratulations! Posted by Joaquín Bravo Contreras about 11 months ago.

Doctrine is the best scripted ORM, and Doctrine 2 seems like a great next setp. Congratulations! I hope to give it a spin sometime soon.

Tags Posted by Joaquín Bravo Contreras about 11 months ago.

Maybe you want to tag this with "2.0" for consistency.

@Joaquín Bravo Contreras Posted by jwage about 11 months ago.

Fixed. Thanks!

Congratulations Posted by Noel about 11 months ago.

Great jobs, guys!

looking forward to this! Posted by Lukas about 11 months ago.

we all know the pain points of Doctrine 1.x .. most of them are being addressed with 2.x. this is awesome!

Congrats Posted by eXtreme about 11 months ago.

That's a great news for all developers. :) Good job and happy bday Jon ;)

Great news Posted by Francois Z about 11 months ago.

Awesome news. Congrats and good luck!

I'm so excited Posted by Marijn Huizendveld about 11 months ago.

Looking forward to playing with this:-)

Yeah! Posted by Radek Tetik about 11 months ago.

2.0 seems to be great. Good work. I hope upgrading from 1.1 will not be complicated.

small glitch Posted by romanb about 11 months ago.

For everyone using the regular release package (not SVN), please note that due to a glitch in the very new packaging process you need to adjust some paths. I already updated the documentation but it may take a some time until its regenerated.

Please refer to: http://trac.doctrine-project.org/changeset/6292

We apologize for this inconvenience and will address it in future releases.

small glitch Posted by romanb about 11 months ago.

This only refers to the sandbox, of course.

Happy birthday! Posted by nico_somb about 11 months ago.

Happy Birthday Jon :-) !

Looking awesome Posted by drm / Gerard about 11 months ago.

I'm really looking forward to the next generation Doctrine, I'm sure it will amaze me at least as much as the 1.0 release :) thumbs up, keep up the good work!

Very fine Posted by Tom about 11 months ago.

Currently I have no time to look at Doctrine2 more intensivly, but as I like D1 I think I will like D2 also :-)

Personally I hope that D2 will be integrated into Zend Framework as standard for the implementation of the models in Zend.

I understand Zend´s point of view as they say "model !== tuple"... BUT: that´s is simply the case in 90%...

Awesome! Posted by Joshua Pruitt about 11 months ago.

I can’t wait to start using this!

Also, happy birthday!

w00t Posted by jaymoo about 11 months ago.

Nice guys. Can't wait to do a lil labor day doc 2.0 build. :)

Doctrine 2.0 Posted by Vladislav about 11 months ago.

Looks like my fav open source project is moving forward. The new Doctrine is gonna be awesome. I hope I get some spare time soon and give you guys a hand!

BOM Bug Posted by Stimpy about 11 months ago.

Hello. A few days ago i experienced a bug. When the schema.yml has UTF-8 BOM encoding, the generated classes have special chars at the beginning. I just want you to know. I think it is a bug of PHP. Solution turn off BOM and encode as UTF-8.

Congrats Posted by bandirsen about 11 months ago.

Congratulation to doctrine team. I can't wait for stable release :)

Step forward Posted by pragmatic about 11 months ago.

Will Doctrine2 have feature which allows mapping DQL expressions to model property (like in pythonic SQLAlchemy) ?

Create Comment