TYPO3 Glossar

ORM

TYPO3 ORM

Wenn Sie mit TYPO3 arbeiten, sind Sie möglicherweise auf den Begriff "ORM" oder Object Relational Mapping gestoßen. Aber was genau bedeutet das, und warum ist es wichtig? In diesem Blogbeitrag erklären wir die Grundlagen von TYPO3 ORM in einfacher Sprache, damit Sie verstehen, wie es TYPO3 Entwicklern hilft, Daten in einem TYPO3 Projekt zu verwalten.

In TYPO3 wird ORM hauptsächlich vom Extbase Framework übernommen. Extbase bildet die Grundlage für viele TYPO3 Erweiterungen und verwendet die Prinzipien des ORM, um Datenbankeinträge zu verwalten. Mit Extbase können Sie Modelle erstellen, die Ihre Daten repräsentieren, und diese Modelle werden automatisch mit den entsprechenden Datenbanktabellen verknüpft.

Warum ORM in TYPO3 verwenden?

  1. Vereinfachte Datenbankinteraktion: ORM ermöglicht es Ihnen, mit der Datenbank über TYPO3 Modelle zu interagieren, ohne SQL Abfragen schreiben zu müssen. Dies macht den Code sauberer und verständlicher.
  2. Weniger Fehler: Durch die Verwendung von ORM verringern Sie die Wahrscheinlichkeit von Fehlern in SQL Abfragen. Die ORM Schicht kümmert sich um die Datenbankinteraktionen und stellt sicher, dass die Daten konsistent gehandhabt werden.
  3. Schnellere Entwicklung: ORM beschleunigt die Entwicklung, indem es Ihnen ermöglicht, sich auf die Geschäftslogik zu konzentrieren, anstatt auf die Feinheiten des Datenbankmanagements. Sie verbringen weniger Zeit mit Datenbankabfragen und mehr Zeit mit der Entwicklung von Funktionen.

Erste Schritte mit ORM in TYPO3

Um ORM in TYPO3 zu verwenden, müssen Sie ein Modell in Ihrer TYPO3 Erweiterung erstellen. Dieses Modell repräsentiert die Daten, die Sie in der Datenbank speichern möchten. Wenn Sie beispielsweise eine Blog Erweiterung erstellen, könnten Sie ein Modell für "Post" und ein weiteres für "Author" erstellen.

Hier ist ein einfaches Beispiel:

namespace Vendor\Extension\Domain\Model;
class Post extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
   protected string $title = '';
   protected string $content = '';
   public function getTitle(): string {
       return $this->title;
   }
   public function setTitle(string $title): void {
       $this->title = $title;
   }
   public function getContent(): string {
       return $this->content;
   }
   public function setContent(string $content): void {
       $this->content = $content;
   }
}

In diesem Beispiel repräsentiert das Post Modell einen Blogbeitrag mit einem Titel und Inhalt. Extbase übernimmt automatisch die Verbindung zwischen diesem Modell und der entsprechenden Datenbanktabelle.

Verwaltung von Beziehungen zwischen Modellen

Eine der Stärken von ORM in TYPO3 ist die Fähigkeit, Beziehungen zwischen verschiedenen Modellen zu verwalten. Beispielsweise könnte ein Blogbeitrag einen "Author" haben, der ihm zugeordnet ist. Sie können diese Beziehung in Ihren Modellen definieren, und ORM wird sie für Sie verwalten.

So könnten Sie eine Beziehung zwischen einem Post und einem Author definieren:

class Post extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
   protected string $title = '';
   protected string $content = '';
   protected \Vendor\Extension\Domain\Model\Author $author;
   public function getAuthor(): \Vendor\Extension\Domain\Model\Author {
       return $this->author;
   }
   public function setAuthor(\Vendor\Extension\Domain\Model\Author $author): void {
       $this->author = $author;
   }
}

Mit dieser Einrichtung können Sie einfach den Autor eines Beitrags abrufen oder einen Autor für einen Beitrag festlegen, ohne sich mit den zugrunde liegenden SQL Abfragen zu beschäftigen.

Fazit

TYPO3 ORM, unterstützt von Extbase, ist ein leistungsstarkes Werkzeug, das die Interaktion von Entwicklern mit der Datenbank vereinfacht. Durch die Verwendung von ORM können Sie sich stärker auf die Funktionen Ihrer Anwendung konzentrieren und weniger auf die Komplexität des Datenbankmanagements. Ob Sie einfache oder komplexe TYPO3 Erweiterungen erstellen, ORM erleichtert Ihnen die Arbeit, reduziert Fehler und beschleunigt die Entwicklung.

Denken Sie daran, dass ORM ein nützliches Werkzeug ist, aber es ist wichtig, die Grundlagen zu verstehen, wie es funktioniert. Dieses Verständnis hilft Ihnen, es effektiv zu nutzen und auftretende Probleme zu beheben. Viel Spaß beim Programmieren!