Drupal Goes ORM

Seit langer Zeit endlich mal was Neues zum Thema Drupal, und der Titel hört sich wirklich gut an, oder? Aber was will er uns diesmal damit mitteilen? :) ORM heißt nichts anderes als Object-relational Mapping (Objektrelationale Abbildung) und ist eine Technik der Softwareentwicklung.

ORM macht (ganz simpel ausgedrückt) aus einer beliebigen Datenbank eine Art Klasse, die man für die Programmierung verwenden kann. Viele PHP-Frameworks setzen auf dieses Konzept (CakePHP, Kohana) und das Ganze vereinfacht den Zugriff auf Datenbanken dahin gehend, dass man kein SQL mehr braucht. Ein bekanntes Beispiel für eine solche Umsetzung ist zum Beispiel Hibernate für Java.

Was bedeutet das genau? Will man zum Beispiel alle Benutzer einer Community ermitteln, die in Köln wohnen, ist mindestens eine SQL-Query nötig. Eine mögliche Query wäre zum Beispiel „SELECT email FROM users WHERE city = ‚Köln‘„; Würden wir das gleiche mit ORM erreichen wollen, wäre ein möglicher Aufruf zum Beispiel: „orm->find(array(‚user.city‘ => ‚Köln‘);„. Auf den ersten Blick ist das nicht sonderlich revolutionär, aber auf dem zweiten Blick merkt man schnell das man a) keine Ahnung von SQL haben muss und b) noch nicht einmal wissen muss, was die Datenbank im Hintergrund eigentlich macht und wie sie aussieht.

Um nun zurückzukommen auf Drupal: Wer schon einmal einen Modul geschrieben hat, weiß, dass es ein echtes Drama sein kann einen Node zu erzeugen. Hier kommt nun auch ORM ins Spiel. Dann natürlich funktioniert das Object-relational Mapping nicht nur zum Auslesen von Daten, sondern auch zum Schreiben! Ein Beispiel in Drupal ORM wäre zum Beispiel:

$newNode = orm('Page')->>create();
$newNode->>setTitle('hello world');
$newNode->body = 'foobar';
$newNode->save();

Wenn das Mal nicht cool ist! Und um das Ganze noch cooler zu machen, funktioniert es nicht nur mit den Core-Funktionen von Drupal, sondern auch mit CCK-Feldern! Das Modul ORM funktioniert derzeit nur mit der Version 6 von Drupal und es ist eine der wenigen Funktionen, von denen ich mir wünsche, dass sie irgendwann mal in den Core übernommen werden! Das kleine Tool vereinfacht die Erstellung von Plugins drastisch!

Ähnliche Beiträge

Administration Dashboard für Drupal Das Backoffice von Drupal ist zugegebenermaßen anstrengend und stark verbesserungswürdig. Glücklicherweise wird dieses leidliche Thema ja in Drupal 7 ...
Drupal Remote – Fernbedienung für Drupal Fernbedienung für ein CMS hört sich erst einmal bizarr an, aber es kann durchaus Sinn machen. Natürlich nicht für einen Kunden, der nur eine einzige S...
Gigya Socialize – soziale Netzwerke für Drupal Acquia hat ein neues Modul für Drupal herausgebracht, und man mag über die „Kommerzialisierung von Drupal“ denken was man will, aber die Module von Ac...
Mindmaps in Drupal Ganz richtig: Mindmaps IN Drupal, und nicht für Drupal :) Ich habe mal wieder ein interessantes und vor allem neues Modul für Drupal ausgegraben. Grap...

Eine Antwort auf „Drupal Goes ORM“

  1. Ich bin der Autor dieses Moduls, und ich möchte Ihnen für Ihre positive Bewertung bedanken. Erstellen eines ORM für Drupal ist äußerst schwierig, so Geduld geschätzt wird, wie ich versuche, dieses Modul zusammengestellt. Ich bin ständig auf die Verbesserung des Moduls und das Hinzufügen neuer Features, also bitte im Auge behalten dieses Moduls. Danke.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.