Anzeige
Anzeige
Interview

Jonathan Wage über seinen Einstieg bei Doctrine und die Zukunft des Projekts: „Wir hatten gute Entwickler, aber keine Vision“

Im Jahr 2007 reichte der damals 22-jährige Jonathan Wage seine ersten Verbesserungsvorschläge für das Doctrine-Projekt ein. Heute leitet er das Projekt und hat es zum führenden Open-Source-ORM weiterentwickelt. t3n sprach mit Jonathan Wage über den Status und die Zukunft von Doctrine, wozu man einen ORM-Layer überhaupt braucht und was man in Nashville als Programmierer sonst noch so alles machen kann.

5 Min.
Artikel merken
Anzeige
Anzeige

Jonathan Wage (Mitte) stand t3n-CTO Martin Herr (links) und Symfony-Day-Initiator Dennis Benkert in Köln Rede und Antwort.

Jonathan Wage (Mitte) stand t3n-CTO Martin Herr (links) und Symfony-Day-Initiator Dennis Benkert in Köln Rede und Antwort.

t3n Magazin: Jonathan, als Lead-Developer eines Object Relationship Mappers (ORM) können Sie uns doch sicher gut erklären, was das eigentlich ist.

Anzeige
Anzeige

Jonathan Wage: Ein ORM ist eine Abstraktionsschicht zwischen relationaler Datenbank und der eigentlichen Anwendung. Statt per SQL kann man durch das ORM objektorientiert auf die Daten zugreifen.

t3n Magazin: Sie sind erst 2007 zum Doctrine-Team dazugestoßen und haben dann ziemlich schnell die komplette Verantwortung für das Projekt übernommen. Wie kam es dazu?

Anzeige
Anzeige

Jonathan Wage: Zu dieser Zeit gab es niemanden, der eine komplette Version des Projekts hatte. Wir hatten zwar gute Entwickler, aber keine Organisation, keinen Plan und keine Vision. Dass ich das Projekt übernommen habe, kam letztlich dadurch zustande, dass ich anfing, alles zu organisieren und zu verwalten, was wir bereits hatten und sicherzustellen, dass das Projekt schnell voran kommt.

Anzeige
Anzeige

t3n Magazin: Neben Ihnen arbeiten noch andere Core-Entwickler an Doctrine. Wer sind die anderen und für was sind sie im Projekt zuständig?

Jonathan Wage: Da gibt es zum Beispiel Roman Borschel, der sozusagen das Gehirn hinter dem Projekt ist. Er hat die meisten Ideen für den Code von Doctrine 2 und ist allein dafür verantwortlich, dass wir uns bei der Entwicklung von der Java-Persistance-API haben inspirieren lassen. Auch Core-Entwickler Guilherme Blanco hilft an vielen Stellen, sowohl bei der Entwicklung von Doctrine, als auch bei der Dokumentation.

Anzeige
Anzeige

t3n Magazin: Das Open-Source-PHP-Framework Symfony empfiehlt seit einiger Zeit Doctrine als ORM. Welche Vorteile bietet Doctrine gegenüber anderen ORM-Systemen wie zum Beispiel Propel?

Jonathan Wage: Propel ist im Grunde kein ORM, sondern ein erweiterter Code-Generator, der Funktionalitäten von ORM wie Active Record, Data Mappers und andere nachahmt. Doctrine hingegen ist eine reine ORM-Implementierung.

t3n Magazin: Welche anderen PHP-Frameworks neben Symfony setzen auf Doctrine als ORM?

Anzeige
Anzeige

Jonathan Wage: Spontan fallen mir Zend Framework, CodeIgniter, CakePHP und Agavi ein. Ich bin mir aber sicher, dass ich einige vergessen habe.

t3n Magazin: Die Eigenentwicklung eines ORM kann man wohl als die komplexeste Herausforderung für einen Programmierer bezeichnen, da das ORM anderen Entwicklern in ihren Projekten als Fundament dient und sie entsprechend einen hohen Qualitätsanspruch daran stellen. Auf das ORM muss man sich verlassen können. Wie stellen Sie bei Doctrine sicher, dass keine gravierenden Fehler im Quellcode enthalten sind?

Jonathan Wage: Wir verwenden ein paar Tools, die uns helfen. PHPUnit für das komplette Unit-Testing, Code-Coverage und andere Qualitätssicherungsmaßnahmen. Sismo, um PHPUnit für Continuous-Integration zu integrieren. Unsere Test-Suite wird damit bei jedem Commit gestartet und testet ihn gegen alle unterstützten Datenbanksysteme, um sicherzustellen, dass wir keine Fehler einführen. Phing nutzen wir für das Erstellen von Projekten, von Paketen und für das Deployment. PEAR kommt beim Erstellen der PEAR-Package-Files zum Einsatz, die wir durch Phing generieren lassen. Wir haben übrigens erst letztens einen Blog-Artikel über die Qualitätssicherungsmaßnahmen von Doctrine veröffentlicht (http://bit.ly/ZJdJT).

Anzeige
Anzeige

t3n Magazin: In der letzten Zeit haben Sie einiges getan, um die Erweiterbarkeit von Doctrine zu verbessern. So ist es inzwischen möglich, eigene Doctrine-Extensions zu schreiben und diese auf der offiziellen Website zu veröffentlichen. Welche Erweiterungen würden Sie für Doctrine schreiben, wenn Sie einen Monat Zeit hätten?

Jonathan Wage: Ich würde mehr Extensions schreiben, die sich in den Ergebnislisten-Caching-Layer von Doctrine integrieren, um das automatische Löschen des Caches besser zu steuern, wenn Datensätze verändert werden. Außerdem würde ich gerne an der Integration zwischen Doctrine und der Yahoo-Query-Language-API arbeiten.

t3n Magazin: Doctrine 2.0 setzt PHP 5.3 voraus und macht regen Gebrauch von neuen PHP-Features wie Namespaces. Was sind die wichtigsten Neuerungen in Doctrine 2.0 und was ändert sich für Anwender?

Anzeige
Anzeige

Jonathan Wage: Einfach alles! Nichts ist mehr, wie es war. Das fängt beim Code an und hört bei der Geschwindigkeit auf. In dieser Version haben wir großen Wert darauf gelegt, dass all die aktuell bestehenden Performance-Probleme und Feature-Beschränkungen angegangen werden. Der Code dieser Version wird die Vorlage für viele der kommenden Doctrine-Versionen sein.

t3n Magazin: Haben Sie sich von anderen ORM-Bibliotheken oder anderen Sprachen inspirieren lassen, als Sie die Entwicklung von Doctrine 2.0 geplant haben?

Jonathan Wage: Ja, wir haben uns hauptsächlich an Java Hibernate und der JPA-Spezifikation orientiert.

Anzeige
Anzeige

t3n Magazin: Es gibt Leute, die behaupten, ORMs seien Performance-hungrig und undurchsichtig. Trifft das auf Doctrine zu?

Jonathan Wage: Das trifft auf jedes Framework oder ORM zu. Manchmal muss man eben auf ein ORM oder Framework verzichten und Low-Level-Code schreiben, zum Beispiel, wenn man extreme Anforderungen an die Datenbank-Performance hat.

t3n Magazin: Neben dem Doctrine-Projekt arbeiten Sie auch an einem Symfony-basierten CMS namens Sympal. Was zeichnet das CMS aus und wo liegen die Vorteile gegenüber anderen Open-Source-CMS?

Anzeige
Anzeige

Jonathan Wage: Der größte Vorteil von Sympal ist der Umstand, dass es auf Symfony und Doctrine aufbaut. Die Idee dahinter ist, dem Entwickler die Fähigkeiten eines CMS wie Drupal zu geben und ihm gleichzeitig die Möglichkeiten von Symfony und Doctrine zu bieten. Daher auch der Name. Die Kombination aus beiden schafft ein sehr mächtiges Tool, mit dem Firmen auf der ganzen Welt Projekte einfach und schnell umsetzen können.

t3n Magazin: Sie arbeiten und leben in Nashville, Tennessee. Wie sieht Ihr Arbeitsalltag aus?

Jonathan Wage: Mein Arbeitstag entspricht fast einem normalen, der von 8 Uhr morgens bis 17 Uhr abends geht. In dieser Zeit bin ich immer in meinem Büro. Abends bin ich meistens zu Hause und arbeite dort bis in die Nacht. Manchmal entspanne ich aber auch irgendwo.

t3n Magazin: Was macht man als Open-Source-Entwickler in Nashville, wenn man mal frei hat und keinen Quellcode mehr sehen kann?

Jonathan Wage: Etwas anderes programmieren (lacht). Nein, mal im Ernst. Im echten Leben und im Internet bin ich eigentlich jemand, der es liebt, Dinge zu bauen. Als ich 19 war, kaufte ich mein erstes Haus und jetzt bin ich 24. In den letzten fünf Jahren habe ich es fast komplett renoviert. Außerdem spiele ich Softball. Das Team, für das ich spiele und das ich auch sponsore, wurde nach Doctrine benannt. Außerdem bin ich ein Wasser-Junkie und liebe es, zum See zu fahren und fischen zu gehen oder einfach nur rumzuhängen.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige