Joomla! Programmierung/Programmierung/Datenbankklassen

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Wie benutze ich die Joomla! Datenbankklassen in meinem Script ?

Info.png
Joomla! bietet eine hochentwickelte Schicht zur Datenbankabstraktion an, um den Umgang für 3PDs zu vereinfachen. Diese Anleitung soll ihnen helfen diesen Database Abstraction Layer zu benutzen.

[Bearbeiten] Warum ?

Joomla! wurde erstellt, um verschiedene Arten von SQL-Datenbanksystemen in unterschiedlichen Umgebungen mit unterschiedlichen Tabellenpräfixen zu unterstützen. Zusätzlich zu diesen Funktionen erstellt die Klasse automatisch eine Verbindung zur Datenbank. Abgesehn davon, dass Sie das Objakt instanzieren müssen, benötigen Sie nur 2 Zeilen Code um ein Resultat der Datenbank zu erhalten - und das in einer Vielzahl von Formaten. Die Benutzung des Joomla! Datenbanklayers sichert ein Maximum an Kompatibilität und Flexibilität für Ihre Erweiterungen.

[Bearbeiten] Vorbereitung

/* Eine Referenz auf das Datenbankobjekt beziehen */
$db = JFactory::getDBO();
 
/* Den Query setzen */
$query = "SELECT * FROM #__example_table WHERE id = 999999";
$db->setQuery($query);

Zuerst instanzieren wir das Datenbankobjekt, dann bereiten wir den Query vor. Sie können normale SQL Syntax benutzen. Das einzige was sie ändern müssen, ist der Tabellenpräfix. Um dies so flexibel wie möglich zu machen, benutzt Joomla! einen Platzhalter für den Präfix, das #__. Im nächsten Schritt, dem setQuery(), wird diese Zeichenkette mit dem eigentlichen Präfix ersetzt.

Falls wir keine Informationen erhalten wollen, aber eine Zeile einfügen wollen, brauchen wir noch eine Funktion. Jede Zeichenkette in der SQL-Syntax muss gequotet werden. Daher müssen wir diese Werte an die Funktion $db->Quote($value) übergeben.

Was immer wir auch tun wollen, wir müssen den Query mit der Funktion SetQuery() setzen. Obwohl Sie auch den Query direkt als einen Parameter der Funktion setQuery() schreiben könnten, wird dies normalerweise getan indem der Query zuerst in eine Variable gespeichert wird, normalerweise $query, und dann wird diese Variable übergeben. Dies hilft sauberen, lesbaren Code zu schreiben.

[Bearbeiten] Ausführung

Um den Query auszuführen, bietet Joomla! einige Funktionen, die sich in ihrem Rückgabewert unterscheiden

[Bearbeiten] Einfache Queryausführung

  • query

[Bearbeiten] Information über die Ausführung des Querys

  • getAffectedRows
  • explain
  • insertid

[Bearbeiten] Ausführung von Insert Query

  • insertObject

[Bearbeiten] Resultat

Die Datenbankklasse enhält viele Methoden um mit den Sätzen der Queryresultate zu arbeiten.

[Bearbeiten] Resultat mit einfachem Wert

  • loadResult

[Bearbeiten] Resultat einer einzelnen Zeile

  • loadObject
  • loadRow
  • loadResultArray

[Bearbeiten] Resultat mit mehreren Zeilen

[Bearbeiten] Resultate diverser Methoden

  • getNumRows

[Bearbeiten] Siehe auch...

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge