php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.03.2006, 23:45  
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 6
UncleByte
Standard Welche Datenbankwrapper/-klasse? ODBC, ADO, PEAR usw

Hallo Leute,

es gibt ja zahlreiche DB-Wrapper/-Klassen etc. im Internet.

Da wären z.B. ODBC, ADO, PEAR:B, PEAR:B_ado und tausende Einzellösungen.

Ich persönlich habe bisher für einzelne Anwendungsfälle selbst eine MySQL-Klasse geschrieben und diese dann entsprechend erweitert. Nun komme ich aber an den Punkt, an dem ich auch meine Anwendungen auf anderen Systemen mit anderen DB-Systemen als MySQL installieren muss. Das Ganze wird immer breitgefecherter. Nun stehe ich vor dem Problem, dass ich mich nicht immer mit immer neuen DB-Systemen und den passenden Funktionen in PHP im Detail auseinandersetzen oder immer wieder nach passenden fertigen Klassen suchen und den Syntax im Detail erlernen kann - dazu fehlt mir momentan schlicht die Zeit und ehrlich gesagt hab ich auch nicht die Muße dazu.

Die Server-Systeme sind i.d.R. sehr leistungsfähig, d.h. ich bin mir über den Performance-Verlust über die Nutzung von Fremd-Klassen/-Wrappern durchaus bewusst.

Meine Frage nun an Euch Spezialisten: welche Klassen/Wrapper habt Ihr eingesetzt? Welche Erfahrungen habt Ihr damit gesammelt? Was haltet Ihr grundsätzlich von meinem Denkansatz?

Danke und Gruß

Uncle
UncleByte ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.03.2006, 23:56  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Der einzige Vorteil, den ein Wrapper bietet, ist die einheitliche Schnittstelle. Das wars aber auch schon, denn um ein größeres Projekt für eine andere Datenbank fitt zu machen, reicht es selten aus, in einer Konfigurationsdatei mal ebend nen Schalter umzulegen. Gerade beim wichtigsten - der Performance - gibt es einfach zu große Unterschiede... Die kleinen Feinheiten, die der eine DB-Server erlaubt, der andere nicht und die in ANSI wieder ganz anders definiert sind, kommen ja auch noch dazu.

Daher ist es blauäugig zu denken, dass man mal ebend mit einem Wrapper ein für allemal allem Ärger aus der Welt geht. Bei einer kleinen Webseite mit Counter mag das noch OK sein, aber bei größeren Projekten nicht.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 17.03.2006, 00:06  
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 6
UncleByte
Standard

Bin ich mir durchaus im Klaren, dass ein Schalter nicht genügt und es Performance kostet und ein Wrapper mir nicht das Denken abnimmt. An ANSI hab ich im Moment noch gar nicht gedacht. Danke für den Tipp.

Insofern eben die Frage nach dem Grundsätzlichen für und wieder und die offene Frage welchen Klassen bzw. Wrapper Ihr einsetzt, d.h. mich interessieren auch Eure Klassen für z.B. MySQL, MSSQL usw.! Bzw. eine gut Anlaufstelle, die sich mit dem Thema befasst.

Ich weiß nicht wie ich mich recht ausdrücken soll, damit ich nicht falsch verstanden werde.
UncleByte ist offline   Mit Zitat antworten
Alt 17.03.2006, 00:13  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Die Wrapper selber brauchen nicht unbedingt viel Performance. Ich meinte damit eher die Datenbank-Unterschiede beim Performance-Tuning...

Ich setze eine vollständig eigene Bibliothek ein und habe mit Pear:: DB u.ä. weniger praktische Erfahrung, wobei das aber eher den Grund hat, dass ich ein Framework gebaut habe, was nicht nur als PHP-Scripte zur Verfügung steht, sondern gleichzeitig auch als Extension mit JDBC-Schnittstelle und Connection-Pooling...
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 17.03.2006, 00:16  
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 6
UncleByte
Standard

Mhm, es gibt also ein Performance-Zusammenspiel. Daran dachte ich bislang auch noch nicht...

OK, darf ich fragen wie Deine Bibliothek im Grunde aufgebaut ist? Oder ist der Aufbau überhaupt nicht für PHP geeignet?
UncleByte ist offline   Mit Zitat antworten
Alt 17.03.2006, 10:58  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich habe den Thread in den Fortgeschrittenen-Bereich verschoben.
Zergling-new ist offline   Mit Zitat antworten
Alt 17.03.2006, 11:30  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Die Bibliothek ist im grunde relativ einfach aufgebaut. Eine Factory wird extern konfiguriert. Welche Datenbank-Klasse zu verwenden ist, wird analog zu JDBC anhand einer URL erkannt. Diese Factory dient gleichzeitig als ConnectionPool, das heisst, dass Datenbank-Verbindungen beim Freigeben nicht sofort geschlossen werden, sondern ggf. an das nächste Script übermittelt werden.

Die Verbindung selber hat eine allgemeine Connect-Methode, sowie eine Execute() und eine ExecuteUpdate-Methode. Die Execute-Methode gibt ein Resulset-Objekt zurück, mit dem man beliebig zwischen den Ergebnissen hin und her springen kann. Zusätzlich gibt es eine PreparedStatement-Unterstützung.

Alles also sehr einfach gehalten. Das ganze ist deswegen was eigenes, weil ich zum einen ein bestehendes Plugin-Framework habe, was entsprechend neue Datenbank-Treiber dynamisch laden kann und was sich insbesondere dynamisch um Protokollierung und Debugging, sowie fehlerhandling kümmert.
mepeisen ist offline   Mit Zitat antworten
Alt 17.03.2006, 18:30  
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 6
UncleByte
Standard

Klingt interessant.

Wie hast Du die Bibliothek realisiert? Ich meine auf welcher technischen Basis/Programmiersprache?

Jetzt hast Du mich aber wirklich neugierig gemacht: was hast Du für eine Protokollierung, Debugging und Fehlerbehandlung realisiert?

Kann man das Framework erwerben?
UncleByte ist offline   Mit Zitat antworten
Alt 17.03.2006, 21:08  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

PHP, sowie C++ und Java für die Extensions und nein, derzeit ist es noch nicht zu erwerben. Ehrlich gesagt habe ich darüber noch nicht nachgedacht, vielleicht irgendwann mal.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 18.03.2006, 15:57  
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 6
UncleByte
Standard

Ok, danke für die Info.

Gibts auch noch andere Meinungen? Oder Tipps?
UncleByte ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
PEAR Package installieren Zergling-new PHP Tipps 2006 6 03.01.2006 21:49
PEAR download Klasse Opendix PHP Tipps 2007 2 03.12.2005 14:20
Klasenname einer nicht instanziierten Klasse DerDesian PHP Tipps 2007 9 30.11.2005 13:13
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
[Erledigt] Führerschein für Klasse A+B.. Preis OK??? Off-Topic Diskussionen 20 13.07.2005 18:44
Rückgabewert auf einer Klasse anders als in der Klasse micbur PHP Tipps 2005-2 6 10.06.2005 15:06
[Erledigt] includepathproblem pear blockiert smarty und umgekehrt PHP Tipps 2005 1 08.05.2005 18:46
[Erledigt] SOAP/Client.php: PHP Fatal error: Method SOAP_Client::__call PHP-Fortgeschrittene 6 25.11.2004 09:48
Klasse holt sich die Klasse PHP-Fortgeschrittene 9 07.10.2004 11:53
[Erledigt] Brauche Hilfe bei meiner ersten Klasse PHP-Fortgeschrittene 9 24.09.2004 17:09
Klassenobjet in anderer Klasse benutzen inu PHP Tipps 2004 6 19.09.2004 10:58
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbank wrapper, php datenbank wrapper, datenbank wrapper php, php db wrapper, c datenbank wrapper, pear db performance, php class mysql ado, java db wrapper, wrapper klasse in php, connect odbc pear, java datenbankwrapper, php newadoconnection odbc, php datenbankwrapper, php klasse odbc, datenbankwrapper für java, php odbc wrapper, ado php class, php datenbank klasse adodb, odbc pear, c wrapper datenbanken

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.