Zum Inhalt springen

Doctrine (PHP)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. Juni 2012 um 14:39 Uhr durch Juncensis (Diskussion | Beiträge) (Kürzung Quelle). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Doctrine
Basisdaten

Erscheinungsjahr 13. April 2006
Aktuelle Version 2.2.1
(3. März 2012)
Betriebssystem Plattformunabhängig
Programmier­sprache PHP
Kategorie Framework, Objektrelationaler Mapper
Lizenz GNU Lesser General Public License
www.doctrine-project.org

Doctrine oder phpDoctrine ist ein Framework zur objektrelationalen Abbildung (englisch object-relational mapping, ORM) für PHP 5.3.0+. Doctrine wurde unter den Gesichtspunkten der Geschwindigkeit und Reichhaltigkeit an Funktionen entwickelt. Jonathan Wage, seit 2007 Projektleiter bei Doctrine, erklärt: "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." [1]

Das Framework setzt auf einer leistungsstarken Datenbankabstraktionsschicht auf. Durch Doctrine ist mit Hilfe von PHP ein einfacher Zugriff auf verschiedene Datenbanktypen möglich, wie beispielsweise MySQL. Das Prinzip von Doctrine greift ebenfalls Gedanken von Hibernate auf. Hierfür kommt die proprietäre SQL-Sprache namens Doctrine Query Language (DQL) zum Tragen, die von Hibernates HQL inspiriert wurde.

Programmierer, die mit Doctrine arbeiten, müssen ihre Abfragen nicht länger in SQL formulieren. Der objektorientierte Ansatz ermöglicht ein abstraktes Arbeiten unabhängig von der verwendeten Datenbank. Auch können Datenbankinhalte objektorientiert verwaltet werden, ohne einen Wrapper dafür bereitzustellen. Die objektrelationale Funktionalität wird hier den Objekten selbst zugewiesen, ohne dass eine aufwändige Programmierung in PHP notwendig ist. Auf diese Weise gestaltet sich die Verwaltung eines Softwareprojektes wesentlich einfacher.

Anwendungsbeispiel

Wenn als Beispiel ein neues Benutzerobjekt in der Datenbank erstellt werden soll, könnte das in PHP geschrieben wie folgt aussehen:

 $user = new User();
 $user->name = "Max";
 $user->password = "test";
 $entityManager->persist($user);
 echo "Der Benutzer mit der ID $user->id wurde erfolgreich hinzugefügt.";

Hierbei wird der sogenannte Entity Manager von Doctrine angewiesen, ein Objekt (Model) zu speichern. Der Entity Manager verwaltet Models und dient als Schnittstelle zur Datenbank.

Einzelnachweise

  1. Jonathan Wage, Doctrine: „Wir hatten gute Entwickler, aber keine Vision“. In: t3n. 10. Juni 2010, abgerufen am 18. Juni 2012.