DDDBL - Definition Driven Database-Layer

Der DDDBL ist ein Datenbanklayer, der nicht nur die Arbeit mit verschiedenen Datenbanken an sich abstrahiert. Neben der Möglichkeit mit mehreren verschiedenen Datenbanken über ein und das selbe Interface zu arbeiten, abstrahiert der DDDBL gleichzeitig die Datenbankabfragen und deren Auswertungen.
Dadurch ergeben sich eine Reihe von Vorteilen, aber auch einige Einstiegsprobleme durch das neuartige Konzept. Aus diesem Grund gibt es eine umfassende Einleitung in das Konzept hinter dem DDDBL.

Neues vom DDDBL

02.02.2010: DDDBL 1.1 Beta released

Der DDDBL 1.1 enthält eine kleine Auswahl von Erweiterungen und Änderungen. Er ist vollständig Rückwärtskompatibel. Die Änderungen in Kürze:

Default-Verbindungen & statische Aufrufe

Bei der Definition der Datenbankverbindung kann nun der optionale Parameter DEFAULT gesetzt werden. Der gültige Wert ist "true".Der Parameter kann für genau eine Datenbankverbindung verwendet werden.
Eine so gekennzeichnete Verbindung wird nun als Standard-Verbindung betrachtet. Bei der Instanzierung des DDDBL-Objektes kann nun auf den Alias verzichtet werden, wenn die Standard-Verbindung genutzt werden soll. Der Aufwand reduziert sich von:
    $objDB = new DDDBL('ALIAS');
    $objDB->get('QUERY-ALIAS');
    
auf:
    $objDB = new DDDBL();
    $objDB->get('QUERY-ALIAS');
    
Ebenso kann die get()-Methode nun statisch aufgerufen werden - dies setzt eine definierte Standard-Verbindung voraus:
    DDDBL::get('QUERY-ALIAS');
    

Exceptions

Tritt ein Fehler beim ausführen einer Query auf, wird nun keine PHP-Standard-Exception geworfen, sondern eine DDDBLQueryException. Diese enthält neben der treiberspezifischen Fehlermeldung die vollständige Definition des betroffenen Queries.

Explizite Datentyp-Bindung

Datenbanken unterstützen eine Reihe von Datentypen, welche zum Teil auch in der Kommunikation mit der Applikation berücksichtigt werden können oder müssen. Es ist nun möglich der Datenbank die Datentypen NULL, Boolean, Integer und String explizit zu übermitteln. Ein übergebener Boolscher-Wert wird so in der Datenbank - falls unterstützt - auch als Boolean behandelt.

Der dazu nötige optionale Parameter heißt BIND-DATA-TYPE und kann die Werte true oder false annehmen.
Der Parameter kann für Datenbankverbindungen oder Queries definiert werden. Die Definition bei einem Query überschreibt die globale Definition der Datenbankverbindung.

Andere Änderungen

Download

Dies ist eine Beta-Version. Trotz vieler Tests sollte diese als fehlerhaft betrachtet werden:
DDDBL 1.1 Beta downloaden (11,7 KiB)

31.03.2009: DDDBL 1.0 released

Da seit 2 Monaten keine weiteren Fehler gefunden wurden, wird der DDDBL 1.0 freigegeben.
DDDBL Version 1.0 downloaden