2009-12-21 8 views

Antwort

13

PDO ist in PHP ab Version 5.1 Standard. (Es ist auch mit einer PECL-Erweiterung in PHP 5.0 verfügbar) Die meisten Hosting-Angebote werden es aktiviert haben. AdoDB ist keine Standarderweiterung.

Außerdem glaube ich, dass die PDO-Treiber "PHP-native" sind: Sie sind auf den gleichen Bibliotheken gebaut, auf denen PHP selbst gebaut wurde, und verwenden die gleichen zugrunde liegenden Routinen für Dinge wie Speicherverwaltung. PDO ist also möglicherweise leichter als AdoDB.

Nach diesem Benchmark AdoDB ist deutlich langsamer als PDO: (feste Querung) http://tonylandis.com/performance/php-adodb-pdo-mysql-database-apc-benchmark/

Natürlich sollten Sie überlegen, ob dies wichtig genug ist, um für Ihren Anwendungsfall zu PDO bevorzugen oder nicht.

4

Nun, ich denke, es läuft auf die Präferenz hinaus. ADOdb ist mehr auf Leute ausgerichtet, die an den Microsoft-Stil des Datenbankzugriffs (ADO) gewöhnt sind, und PDO ist mehr "PHP" -ähnlich und auch ein Teil des Mainstreams von PHP gegenüber ADOdb, das auf der Seite sitzt.

Am Ende des Tages würde es basierend auf Ihrer Ziel-DB (ADOdb unterstützt mehr) und welche Art von Sprache Stil bevorzugen Sie. Persönlich mag ich PDO und es passt zu meinen Bedürfnissen.

4

Aus einer technischen Perspektive, der wichtigste Unterschied wäre, dass PDO eine native Erweiterung ist und, von PHP 5 an, immer in PHP in seiner schnellen, kompilierten Form enthalten. Es gibt auch eine Erweiterung für ADODb, aber Sie müssen es zuerst in PHP installieren. Dies ist ein starkes Argument für PDO, da Produkte, die darauf basieren, in mehr Umgebungen wahrscheinlich schneller laufen.

ADOdb unterstützt eine größere Anzahl von Datenbanken als PDO.

+0

Guter Punkt re. breitere Datenbankunterstützung. Andererseits könnte man PDO_ODBC für die exotischeren verwenden, obwohl ich mir vorstellen kann, dass es deutlich langsamer ist als PHP-native PDO-Treiber. –

4

PDO ist nativ und ziemlich schnell.

ADOdb ist eine reichere Bibliothek und hat sogar Dinge wie ORM (Object Relational Mapping).

Für mich der große Nachteil von PDO ist es schrecklich zu debuggen, wenn es schief geht, da es keine PHP-Quelle dafür gibt. Als ich etwas komplizierten Code debugging die einzige Weise, die ich die genaue SQL sehen konnte, die ausgeführt wurde, war die Unterklasse der PDO Treiber selbst ...

Es ist natürlich alles Meinung!