PHP Data Objects

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 13. November 2021 um 12:22 Uhr durch imported>Trustable(411728) (wikilinks).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

PHP Data Objects oder kurz PDO stellt eine Abstraktionsebene für den Datenbankzugriff dar und ermöglicht einen einheitlichen Zugang von PHP auf unterschiedliche SQL-basierte Datenbanken, wie zum Beispiel MySQL, PostgreSQL oder SQLite. Dabei wird unter anderem der Portierungsaufwand beim Umstieg auf eine andere Datenbank minimiert. Es wird nur der Datenbankzugriff abstrahiert, nicht die Datenbank selbst. Für die zu nutzende Datenbank wird ein datenbankspezifischer Treiber benötigt.[1]

Eigenschaften

PDO ist objektorientiert aufgebaut und kann im Gegensatz zum Pendant MySQLi nicht prozedural benutzt werden. Die objektorientierte Umgebung erleichtert den Entwicklern das Erweitern der Schnittstellenfunktionalität.

Mit PDO haben Entwickler die Möglichkeit, für Datenbankanweisungen sogenannte Prepared Statements zu verwenden. Des Weiteren vereinheitlicht PDO die Codesyntax für das Senden von SQL-Statements (Datenbankabfragen basierend auf SQL-Syntax) und das Verarbeiten der erhaltenen Ergebnisrelationen. Hierfür werden entsprechende Methoden bereitgestellt, zum Beispiel

 PDO::beginTransaction() // erstellt eine neue Transaktion
 PDO::prepare()     // erstellt ein neues prepared statement
 PDOStatement::fetch()  // liest die nächste Zeile der Ergebnisrelation ein

Eine vollständige Referenz ist in der offiziellen PHP-Dokumentation enthalten.

Integration

PHP Data Objects sind seit PHP 5.1 ein fester Bestandteil der Sprache, weshalb zusätzliches Aktivieren – über die datenbankspezifischen Treiber hinaus – in der Regel nicht erforderlich ist.[2] Da PDO auf den neuen, stärker objektorientierten Ansätzen von PHP 5 aufbaut, ist die Nutzung erst seit dieser Version möglich. Vorher konnte die Software als PECL-Modul genutzt werden.

Siehe auch

Weblinks

Einzelnachweise