Zum Inhalt springen

Doctrine (PHP)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. November 2011 um 00:08 Uhr durch Jabiko (Diskussion | Beiträge) (Link auf doctrine-forum.de entfernt. Dort unterhalten sich aktuell nur noch Spambots miteinander.). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Doctrine
Basisdaten

Erscheinungsjahr 13. April 2006
Aktuelle Version 2.1.2
(29. August 2011)
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. 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.