Mailinglisten-Archive |
Hallo Norbert, Am Donnerstag, 29. März 2007 02:08 schrieb Norbert Pfeiffer: > Ein komfortabler Layer erkennt den Typ des Querys und liefert > je nach dem 'affected rows' oder 'insert id' zurueck, wenn es > denn so passt. > > Wie man aus einem Vortrag der Koelner UG hoeren musste, leistet > PDO dies absolut nicht. Es ist ja auch nicht das Ziel von PDO eine komplette Abstraktionsschicht zu sein! :-) Siehe Handbuch: "PDO bietet eine Abstraktionsschicht für den Datenzugriff, das bedeutet, dass Sie, egal welche Datenbank Sie benutzen, dieselben Funktionen verwenden können, um Abfragen zu erstellen und Daten zu lesen. PDO bietet keine Abstraktion für Datenbanken. Es schreibt keine SQL-Abfragen um oder emuliert fehlende Features. Sie sollten eine komplette Abstraktionsschicht verwenden, wenn Sie diese Funktionalität benötigen." > Im Grunde setzt PDO nur die Funktionen > fast 1:1 um ohne einen Vorteil fuer den Programmierer zu liefern. Selbstverständlich liefert PDO einen Vorteil, nämlich die Verwendung datenbankunabhängiger Funktionen und eine einheitliche Implementierung des Datenbankzugriffs. Damit mußt Du z.B. nicht die Funktions- bzw. Methodennamen austauschen und Codefragmente umschreiben, wenn Du einmal die Datenbank darunter wechseln solltest, z.B. von MySQL zu PostgreSQL. Für mich könnte PDO z.B. in naher Zukunft einmal interessant werden, weil es sein könnte, daß ich im Intranet mit einer Oracle-Datenbank arbeite und im Internet mit einer MySQL-Datenbank. Da ist soetwas wie PDO doch ideal. Darüber hinaus gibt es noch weitere Gründe, warum es PDO gibt bzw. warum man es verwenden könnte. Siehe z.B. hier: http://www.oracle.com/technology/pub/articles/php_experts/otn_pdo_oracle5.html > Oops, PDO macht den Unfug natuerlich in OO, dann isses natuerlich > richtungsweisend ... ;-) Ich weiß immer noch nicht, was Du gegen OOP hast, aber wer OOP will, kann das auch mit mysqli haben, wenn es um MySQL-Datenbanken geht, was in der Regel der Fall ist. ;-) > Die Diskussion ob man nun while oder foreach verwenden soll/kann > interessiert den PHP-Entwickler nicht wirklich, ausser er schreibt > gerade seinen privaten DB-Layer ... ;-) Wenn Du darauf angewiesen bist, Deine Rechnerresourcen nicht zu verschwenden, weil Du viel Zugriffe auf Deine Website hast, ist es mit Sicherheit immer interessant, den schnellsten Weg zu finden. Da ist eine Diskussion while oder foreach mit Sicherheit nicht uninteressant. Meine persönliche Meinung. :-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive