Mailinglisten-Archive |
Lutz Zetzsche schrieb: > > Wenn also eine Datenbankabstraktionsschicht in Frage käme, dann müßte > diese doch einen "SQL Query Builder" (wie z.B. PEAR DB_DataObject) haben > und nur der dürfte verwendet werden. Dann wiederum stellt sich die Frage, > wieweit ich mit diesem "Query Builder" dann bei komplizierten, > verschachtelten Datenbankabfragen über mehrere Tabellen komme... > Ich habe mir aus diesem Grund mehrere Klassen geschrieben, mit denen ich SQL-Abfragen 'nachbaue'. Eine Klasse beschreibt z.B. Ein SELECT-Statement, eine Klasse beschreibt ein WHERE-Statement etc. Dadurch kann ich in der Applikation Abfragen stellen, ohne zu wissen, welcher Datenbackend läuft. Prinzipiell ist es sogar möglich die durch die Klassen beschriebenen Statements z.B. an einen LDAP-Server zu richten. > Kommt man in der Praxis vielleicht dadurch am weitesten, daß man sich > selbst eine kleine, datenbankabhängige, austauschbare Zwischenschicht > ("Wrapper") baut, die die datenbankspezifischen nativen PHP-Funktionen > kapselt und wo man auch die SQL-Befehle zusammenbastelt? > Die ganze Abfragerei im Hintergrund löst eine Wrapper-Klasse, die je nach Datenbackend dann die PHP-spezifishen Befehle aufruft. Das ganze hat nur zwei Haken: Erstens muss ich noch Funktionen implementieren ( das ist eine Frage der Zeit und der Musse) Zweitens kann ich bei echter Backendunabhängigkeit nicht alle Funktionen einer bestimmten Datenbank ausschöpfen. Schön, das PostgreSQL Views beherscht, aber wenn ich das ganze auch unter MySQL haben können will, kann ich das nicht nutzen. Und in meinen Augen liegt da der Hase im Pfeffer. > Gedanken über Gedanken, Fragen über Fragen. :-))) Kurze Frage also: Wie > seht Ihr das, und wie handhabt Ihr das bei Euren PHP-Anwendungen? Also ich bin ganz zufrieden mit meiner Abstraktionsschicht. Und die Möglichkeit unterschiedliche Daten aus Unterschiedlichen Quellen holen zu können ist dann sogar noch ein Bonus ( z.B. Benutzerauthentifizierung aus dem LDAP und alles andere aus einer Datenbank ohne irgendwas neu schreiben oder ändern zu müssen is schon schick.) Aber um ganz ehrlich zu sein: Für eine kleine Anwendung mit 15 - 20 Abfragen lohnt der Aufwand glaub ich nicht.... :-) Frage beantwortet? Grüße Andreas -- wdv Medien & Kommunikation GmbH & Co. OHG Mediendatenverarbeitung Andreas Heigl Siemensstrasse 6 61352 Bad Homburg Germany Telefon +49-(0)6172-670-185 Telefax +49-(0)6172-670-181 www.wdv.de
php::bar PHP Wiki - Listenarchive