Bachelor-Thesis über die Integration von Doctrine DBAL in TYPO3 CMS

Zusammenfassung

Webanwendungen werden häufig um ein Datenbankmanagementsystem herum entworfen. In der Vergangenheit war dies oft MySQL. Um eine Webanwendung aus der Abhängigkeit zu einem spezifischen Datenbankmanagementsystem zu lösen, kann die, von PHP mitgelieferte, Datenbankabstraktionsschicht PDO genutzt werden. Einen Schritt weiter geht Doctrine DBAL, welches – auf PDO aufbauend – eine einheitliche Schnittstelle zu weiteren Datenbankmanagementsystemen bereitstellt. Doctrine DBAL ist zudem die Grundlage für Doctrine ORM - ein Framework zur objektrelationalen Abbildung von Objekten auf eine Datenbank, das in TYPO3 Flow und TYPO3 Neos eingesetzt wird. Diese Arbeit demonstriert, wie durch die Integration von Doctrine DBAL in das Content-Manangement-System TYPO3 CMS die Abhängigkeit zu MySQL entfernt werden kann. Zusätzlich wird eine abstrakte Abfragesprache für die zugrundeliegende Datenbank eingeführt, die eine wahlweise Nutzung von Prepared Statements anbietet.

Abstract

Web applications are often developed around one particular database management system. In the past MySQL was used a lot. To decouple the web application from this dependency you could use the database abstraction layer PDO, which is bundled with PHP. Doctrine DBAL goes one step further which offers, based on PDO, a unified interface to a broad range of other database management systems. Additionally Doctrine DBAL is the base of Doctrine ORM – a framework for object-relational database mapping, which is used by TYPO3 Flow and TYPO3 Neos. This paper demonstrates how to decouple the dependency to MySQL by integrating Doctrine DBAL into the content manangement system TYPO3 CMS. On top of that it implements an abstract query language for the underlying database with the choice to use Prepared Statements.

Download .pdf View on GitHub