"If you torture the data enough, it will confess."
Soll eine Anwendung mit unterschiedlichen Datenbankmanagementsystemen arbeiten können, so wird eine Abstraktion von der Datenbank benötigt. Diese bietet eine einheitliche Programmierschnittstelle für die Arbeit mit den spezifischen Programmierschnittstellen der unterschiedlichen Systeme (beispielsweise den MySQL- und PostgreSQL-Erweiterungen von PHP). Über diese Abstraktion der Programmierschnittstellen hinaus können Unterschiede in der Implementierung des SQL-Standards durch die Datenbankmanagementsysteme berücksichtigt und vor dem Programmierer verborgen werden.
Creole ist eine an Java Database Connectivity (JDBC) angelehnte Datenbankabstraktions-Lösung und ermöglicht die vollständig objektorientierte, von dem verwendeten Datenbanksystem unabhängige Programmierung von Datenbankanwendungen mit PHP. Abbildung 11.1 zeigt die Installation von Creole und Jargon, einem Paket mit nützlichen Helferklassen.
Abbildung 11.1. Installation von Creole und Jargon
pear channel-discover pear.phpdb.org
pear install phpdb/creole
pear install phpdb/jargon