Doctrine 2 ist final!
Kommentare

Da ist Benjamin Eberlei aber ein schönes Weihnachtsgeschenk gelungen: Version 2 des OR-Mappers Doctrine ist nach zweieinhalb Jahren Entwicklung stable!

What is new in Doctrine 2?

During the last years

Da ist Benjamin Eberlei aber ein schönes Weihnachtsgeschenk gelungen: Version 2 des OR-Mappers Doctrine ist nach zweieinhalb Jahren Entwicklung stable!

What is new in Doctrine 2?

During the last years a core team of five people contributed large parts of the code and many developers contributed small patches and features. In the end the Doctrine 1 code was refactored beyond recognition, replacing the original ActiveRecord Doctrine 1 with a new DataMapper implementation.Benjamin Eberlei, 2010

Neben dem neuen DataMapper gibt es jedoch noch viele weitere Neuerungen in Doctrine 2. So ist DQL nun eine richtige Sprache, die in SQL transformiert wird, und die klare Architektur sowie die neuen Algorithmen sorgen für, dass Doctrine 2 wesentlich schneller sei als es Version 1 je war.

Darüber hinaus sei das UnitOfWork nun nicht mehr wie in Version 1 ein „Alibi-Pattern“; es wäre nunmehr der zentrale Dreh- und Angelpunkt. Instead of calling save() or delete() methods on your Doctrine_Record instances you now pass objects to the data mapper object called EntityManager and it keeps track of all changes until you request a synchronisation between database and the current objects in memory. Dies stelle nicht nur eine deutliche Verbesserung in der Performance dar, sondern sorge auch dafür, dass sich Entwickler wesentlich leichter einarbeiten können.

Alle Änderungen und Informationen über neue und aufgrund von für einen OR-Mapper als unzweckmässigen Ballast empfundenen weggefallener Features findet man in der Ankündigung. Wer bereits Erfahrungen mit Doctrine sammeln konnte, dürfte sich auch mit den Tutorials und der Dokumentation ebenfalls ein gutes Bild über die Neuerungen machen können.

Das Hier, das Jetzt und die Zukunft

Wichtig ist es Eberlei darauf hinzuweisen, dass Doctrine 2 nicht abwärtskompatibel ist: Doctrine 1 and 2 have nothing in common. For what its worth they only share the same project name. Version hatte zu viele Fehler in der Architektur, die nach Ansicht des Teams nicht mehr gefixt werden konnten.

Für die Zukunft, so Eberlei, habe man es sich allerdings zur Aufgabe gemacht, alle künftigen Versionen Abwärtskompatibel zu halten; und das solle nicht nur für Minor- oder Mini-Releases gelten. Dennoch gilt natürlich: If however we feel that there is overwhelming evidence that a public API refactoring makes the ORM faster and leads to more maintainable code we will not hesitate to break API for a 3.0 release.

In Doctrine 2 steckt viel Arbeit: das merkt man unter anderem an der umfangreichen Dokumentation, dem kompletten Refactoring des Codes aus Version 1 sowie den unzähligen Tests, die der Code durchlaufen hat. Man kann Doctrine 2 also ruhigen Gewissens von der offiziellen Download-Seite oder GitHub herunterladen oder via PEAR installieren und damit beginnen, sich in die Neuerungen einzuarbeiten. Zeit ist zwischen den Jahren ja genug.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -